Android: Added an "Open WebApp" item to the terminal's menu. Should work for Android devices that cannot auto-open the webapp on start.
This commit is contained in:
parent
0ab9b9d0db
commit
3e2d50a336
3 changed files with 110 additions and 4 deletions
|
@ -157,10 +157,12 @@ firstRun listenhost = do
|
||||||
sendurlback v _origout _origerr url _htmlshim = putMVar v url
|
sendurlback v _origout _origerr url _htmlshim = putMVar v url
|
||||||
|
|
||||||
openBrowser :: Maybe FilePath -> FilePath -> String -> Maybe Handle -> Maybe Handle -> IO ()
|
openBrowser :: Maybe FilePath -> FilePath -> String -> Maybe Handle -> Maybe Handle -> IO ()
|
||||||
#ifdef __ANDROID__
|
#ifndef __ANDROID__
|
||||||
openBrowser mcmd htmlshim realurl outh errh = do
|
|
||||||
#else
|
|
||||||
openBrowser mcmd htmlshim _realurl outh errh = do
|
openBrowser mcmd htmlshim _realurl outh errh = do
|
||||||
|
#else
|
||||||
|
openBrowser mcmd htmlshim realurl outh errh = do
|
||||||
|
{- The Android app has a menu item that opens this file. -}
|
||||||
|
writeFile "/sdcard/git-annex.home/.git-annex-url" realurl
|
||||||
#endif
|
#endif
|
||||||
hPutStrLn (fromMaybe stdout outh) $ "Launching web browser on " ++ url
|
hPutStrLn (fromMaybe stdout outh) $ "Launching web browser on " ++ url
|
||||||
hFlush stdout
|
hFlush stdout
|
||||||
|
@ -171,8 +173,11 @@ openBrowser mcmd htmlshim _realurl outh errh = do
|
||||||
, std_err = maybe Inherit UseHandle errh
|
, std_err = maybe Inherit UseHandle errh
|
||||||
}
|
}
|
||||||
exitcode <- waitForProcess pid
|
exitcode <- waitForProcess pid
|
||||||
unless (exitcode == ExitSuccess) $
|
unless (exitcode == ExitSuccess) $ do
|
||||||
hPutStrLn (fromMaybe stderr errh) "failed to start web browser"
|
hPutStrLn (fromMaybe stderr errh) "failed to start web browser"
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
hPutStrLn (fromMaybe stderr errh) "To open the WebApp, go to the menu and select \"Open WebApp\""
|
||||||
|
#endif
|
||||||
where
|
where
|
||||||
p = case mcmd of
|
p = case mcmd of
|
||||||
Just cmd -> proc cmd [htmlshim]
|
Just cmd -> proc cmd [htmlshim]
|
||||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -19,6 +19,8 @@ git-annex (4.20130522) UNRELEASED; urgency=low
|
||||||
preferred content settings.
|
preferred content settings.
|
||||||
* sync: Fix double merge conflict resolution handling.
|
* sync: Fix double merge conflict resolution handling.
|
||||||
* XMPP: Fix a file descriptor leak.
|
* XMPP: Fix a file descriptor leak.
|
||||||
|
* Android: Added an "Open WebApp" item to the terminal's menu.
|
||||||
|
Should work for Android devices that cannot auto-open the webapp on start.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 21 May 2013 18:22:46 -0400
|
-- Joey Hess <joeyh@debian.org> Tue, 21 May 2013 18:22:46 -0400
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,28 @@ index f6952f0..1a8df8f 100644
|
||||||
execBuild.redirectErrorStream(true);
|
execBuild.redirectErrorStream(true);
|
||||||
Process exec = null;
|
Process exec = null;
|
||||||
try {
|
try {
|
||||||
|
diff --git a/res/menu/main.xml b/res/menu/main.xml
|
||||||
|
index 064f833..fe5f3a3 100644
|
||||||
|
--- a/res/menu/main.xml
|
||||||
|
+++ b/res/menu/main.xml
|
||||||
|
@@ -16,6 +16,8 @@
|
||||||
|
-->
|
||||||
|
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
+ <item android:id="@+id/menu_send_email"
|
||||||
|
+ android:title="@string/send_email" />
|
||||||
|
<item android:id="@+id/menu_new_window"
|
||||||
|
android:title="@string/new_window"
|
||||||
|
android:icon="@drawable/ic_menu_add" />
|
||||||
|
@@ -34,8 +36,6 @@
|
||||||
|
android:icon="@drawable/ic_menu_preferences" />
|
||||||
|
<item android:id="@+id/menu_reset"
|
||||||
|
android:title="@string/reset" />
|
||||||
|
- <item android:id="@+id/menu_send_email"
|
||||||
|
- android:title="@string/send_email" />
|
||||||
|
<item android:id="@+id/menu_toggle_wakelock"
|
||||||
|
android:title="@string/enable_wakelock" />
|
||||||
|
<item android:id="@+id/menu_toggle_wifilock"
|
||||||
diff --git a/res/values/defaults.xml b/res/values/defaults.xml
|
diff --git a/res/values/defaults.xml b/res/values/defaults.xml
|
||||||
index 67287b2..9b7cfcd 100644
|
index 67287b2..9b7cfcd 100644
|
||||||
--- a/res/values/defaults.xml
|
--- a/res/values/defaults.xml
|
||||||
|
@ -41,6 +63,83 @@ index 67287b2..9b7cfcd 100644
|
||||||
<bool name="pref_verify_path_default">true</bool>
|
<bool name="pref_verify_path_default">true</bool>
|
||||||
<bool name="pref_do_path_extensions_default">true</bool>
|
<bool name="pref_do_path_extensions_default">true</bool>
|
||||||
<bool name="pref_allow_prepend_path_default">true</bool>
|
<bool name="pref_allow_prepend_path_default">true</bool>
|
||||||
|
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||||
|
index f1464e9..b06ec9a 100644
|
||||||
|
--- a/res/values/strings.xml
|
||||||
|
+++ b/res/values/strings.xml
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
<string name="prev_window">Prev window</string>
|
||||||
|
<string name="next_window">Next window</string>
|
||||||
|
<string name="reset">Reset term</string>
|
||||||
|
- <string name="send_email">Email to</string>
|
||||||
|
+ <string name="send_email">Open WebApp</string>
|
||||||
|
<string name="special_keys">Special keys</string>
|
||||||
|
<string name="toggle_soft_keyboard">Toggle soft keyboard</string>
|
||||||
|
|
||||||
|
diff --git a/src/jackpal/androidterm/Term.java b/src/jackpal/androidterm/Term.java
|
||||||
|
index 8a3a4ac..af8d1ad 100644
|
||||||
|
--- a/src/jackpal/androidterm/Term.java
|
||||||
|
+++ b/src/jackpal/androidterm/Term.java
|
||||||
|
@@ -21,6 +21,9 @@ import java.text.Collator;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
+import java.io.FileReader;
|
||||||
|
+import java.io.BufferedReader;
|
||||||
|
+
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.ActivityNotFoundException;
|
||||||
|
@@ -59,6 +62,11 @@ import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
+import android.content.Intent;
|
||||||
|
+import android.net.Uri;
|
||||||
|
+import android.app.Activity;
|
||||||
|
+import android.content.Context;
|
||||||
|
+
|
||||||
|
import jackpal.androidterm.emulatorview.ColorScheme;
|
||||||
|
import jackpal.androidterm.emulatorview.EmulatorView;
|
||||||
|
import jackpal.androidterm.emulatorview.TermSession;
|
||||||
|
@@ -911,31 +919,15 @@ public class Term extends Activity implements UpdateCallback {
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doEmailTranscript() {
|
||||||
|
+ // Hack: repurposed to open the git-annex webapp
|
||||||
|
TermSession session = getCurrentTermSession();
|
||||||
|
if (session != null) {
|
||||||
|
- // Don't really want to supply an address, but
|
||||||
|
- // currently it's required, otherwise nobody
|
||||||
|
- // wants to handle the intent.
|
||||||
|
- String addr = "user@example.com";
|
||||||
|
- Intent intent =
|
||||||
|
- new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"
|
||||||
|
- + addr));
|
||||||
|
-
|
||||||
|
- String subject = getString(R.string.email_transcript_subject);
|
||||||
|
- String title = session.getTitle();
|
||||||
|
- if (title != null) {
|
||||||
|
- subject = subject + " - " + title;
|
||||||
|
- }
|
||||||
|
- intent.putExtra(Intent.EXTRA_SUBJECT, subject);
|
||||||
|
- intent.putExtra(Intent.EXTRA_TEXT,
|
||||||
|
- session.getTranscriptText().trim());
|
||||||
|
try {
|
||||||
|
- startActivity(Intent.createChooser(intent,
|
||||||
|
- getString(R.string.email_transcript_chooser_title)));
|
||||||
|
- } catch (ActivityNotFoundException e) {
|
||||||
|
- Toast.makeText(this,
|
||||||
|
- R.string.email_transcript_no_email_activity_found,
|
||||||
|
- Toast.LENGTH_LONG).show();
|
||||||
|
+ BufferedReader buf = new BufferedReader(new FileReader("/sdcard/git-annex.home/.git-annex-url"));
|
||||||
|
+ String s = buf.readLine();
|
||||||
|
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s));
|
||||||
|
+ startActivity(intent);
|
||||||
|
+ } catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
diff --git a/tools/build-debug b/tools/build-debug
|
diff --git a/tools/build-debug b/tools/build-debug
|
||||||
index 1f15cd2..e611956 100755
|
index 1f15cd2..e611956 100755
|
||||||
--- a/tools/build-debug
|
--- a/tools/build-debug
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue