diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b0e866a..1ab8515 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -7,6 +7,7 @@ + + @@ -34,8 +36,6 @@ android:icon="@drawable/ic_menu_preferences" /> - Predešlé okno Další okno Reset terminálu - Napiš email + WebApp Speciální znaky Přepnout soft. klávesnici @@ -124,4 +124,4 @@ Není nastaveno žádné tlačitko pro funkční klávesu. Zavřít okno? - \ No newline at end of file + diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index f6134a5..06d2e1f 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -23,7 +23,7 @@ Vorh. Fenster Nächst. Fenster Zurücksetzen - Email schreiben + WebApp Spezialtasten Tastatur an/aus @@ -124,4 +124,4 @@ Beliebige Scripte im Terminal Emulator ausführen Erlaubt Anwendungen, neue Fenster im Android Terminal Emulator zu öffnen und in diesen Befehle auszuführen. Dies schließt alle Berechtigungen von Android Terminal Emulator ein, inklusive Internetzugang und Schreib-/Leserechte auf der SD-Karte. - \ No newline at end of file + diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 94553b2..92d9e2a 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -23,7 +23,7 @@ Ventana anterior Ventana posterior Reiniciar consola - Enviar email + WebApp Teclas especiales Ver/ocultar teclado diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index b9f0586..92a16a0 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -23,7 +23,7 @@ Aurreko leihoa Hurrengo leihoa Berrezarri terminala - Bidali eposta ...(r)i + WebApp Tekla bereziak Txandakatu soft teklatua diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index beab2be..529f720 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -24,7 +24,7 @@ Fenêtre Préc. Fenêtre Suiv. Terminal par défaut - Envoyer un e-mail + WebApp Touches spéciales Afficher/Masquer Clavier diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 5dbecb5..ce917c5 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -23,7 +23,7 @@ Előző ablak Következő ablak Alaphelyzet - Küldés emailben + WebApp Speciális billentyűk Billentyűzet ki/be @@ -148,4 +148,4 @@ Az Alt billentyű ESC-et küld Az Alt billentyű ESC-et küld. Az Alt billentyű nem ESC-et küld. - \ No newline at end of file + diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index e6a7294..9d97869 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -23,7 +23,7 @@ Fin. successiva Fin. precedente Reset terminale - Invia email + WebApp Tasti speciali Mostra/nascondi tastiera diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 502fa23..dbfe9fa 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -23,7 +23,7 @@ 前のウインドウ 次のウインドウ 端末をリセット - メール送信 + WebApp 特殊キー ソフトキーボード diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 06629d0..1d545b6 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -23,7 +23,7 @@ წინა ფანჯარა შემდეგი ფანჯარა ტერმინალის რესტარტი - ელ-ფოსტის გაგზავნა + WebApp სპეციალური ღილაკები პროგრამული კლავიატურის ჩართ./გამორთ. diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index d81ee07..c370c6f 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -18,7 +18,7 @@ Terminal Emulator Innstillinger Tilbakestill terminal - Send epost til + WebApp Spesielle tegn Veksle virtuelt tastatur diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 19fa3d0..e24fbf5 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -23,7 +23,7 @@ Vorig venster Volgend venster Herstellen - E-mail sturen naar + WebApp Speciale knoppen Toetsenbord aan/uit diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 25b3b43..2e0e651 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -23,7 +23,7 @@ Poprzednie okno Następne okno Wyczyść terminal - Wyślij e-mail + WebApp Przyciski specjalne Pokaż klawiaturę diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index aa4ba54..aa3d735 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -18,7 +18,7 @@ Terminal Emulator Preferências Reset terminal - Email para + WebApp Teclas especiais Abrir teclado diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 2d992f9..e53a9ac 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -23,7 +23,7 @@ Anterior Seguinte Repor terminal - Enviar mensagem para + WebApp Teclas especiais Mostrar/ocultar teclado diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 3c7ea06..7a072d0 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -21,7 +21,7 @@ "Fereastra anterioră" "Fereastra următoare" "Resetaţi " - "E-mail" + WebApp "Taste speciale" "Comutați tastatura" @@ -123,4 +123,4 @@ "Tasta Alt trimite ESC" "Tasta Alt trimite ESC." "Tasta Alt nu trimite ESC." - \ No newline at end of file + diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 0e96360..762324e 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -8,7 +8,7 @@ Предыдущее окно Следующее окно Сбросить терминал - Отправить Email + WebApp Специальные клавиши Экранная клавиатура Терминальное состояние этого окна было сброшено. diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index ef35366..cc31d80 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -23,7 +23,7 @@ Dalšie okno Predch. okno Obnoviť term. - Poslať e-mailom + WebApp Špec. klávesy Skryť/zobraziť klávesnicu diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 1aa9055..8de6c09 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -3,7 +3,7 @@ Terminalemulator Inställningar Återställ terminal - E-posta till + WebApp Special tangenter Växla till virtuellt tangentbord Aktivera VäckningsLås diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index b45fa12..fb70f78 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -18,7 +18,7 @@ Terminal Emülatörü Tercihler Terminali yeniden başlat - Email olarak yolla + WebApp Özel tuşlar Ekran klavyesine geç diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 2f267a9..d3622c4 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -8,7 +8,7 @@ Попереднє вікно Наступне вікно Скинути термінал - Відіслати Email + WebApp Спеціальні клавіші Екранна клавіатура "Термінальний стан цього вікна було скинуто." diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 6f47b4f..81316ec 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -18,7 +18,7 @@ 终端模拟器 首选项 重置终端 - 发送电子邮件到... + WebApp 特殊键 打开/关闭软键盘 diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index afda0f1..37d1b50 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -18,7 +18,7 @@ 模擬終端 設定 結束 - 以電郵傳送 + WebApp 特別按鍵 顯示/隱藏鍵盤 diff --git a/res/values/defaults.xml b/res/values/defaults.xml index 67287b2..9b7cfcd 100644 --- a/res/values/defaults.xml +++ b/res/values/defaults.xml @@ -13,10 +13,10 @@ 4 0 false - /system/bin/sh - - + /data/data/ga.androidterm/lib/lib.start.so + git annex webapp screen - true + false true true true 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 @@ Prev window Next window Reset term - Email to + Open WebApp Special keys Toggle soft keyboard diff --git a/src/jackpal/androidterm/ShellTermSession.java b/src/jackpal/androidterm/ShellTermSession.java index 501e7ab..0b43513 100644 --- a/src/jackpal/androidterm/ShellTermSession.java +++ b/src/jackpal/androidterm/ShellTermSession.java @@ -80,12 +80,12 @@ public class ShellTermSession extends TermSession { } }; - public ShellTermSession(TermSettings settings, String initialCommand) { + public ShellTermSession(TermSettings settings, String initialCommand, String webAppFifo) { super(); updatePrefs(settings); - initializeSession(); + initializeSession(webAppFifo); mInitialCommand = initialCommand; mWatcherThread = new Thread() { @@ -106,7 +106,7 @@ public class ShellTermSession extends TermSession { setDefaultUTF8Mode(settings.defaultToUTF8Mode()); } - private void initializeSession() { + private void initializeSession(String webAppFifo) { TermSettings settings = mSettings; int[] processId = new int[1]; @@ -128,9 +128,10 @@ public class ShellTermSession extends TermSession { if (settings.verifyPath()) { path = checkPath(path); } - String[] env = new String[2]; + String[] env = new String[3]; env[0] = "TERM=" + settings.getTermType(); env[1] = "PATH=" + path; + env[2] = "FIFO=" + webAppFifo; createSubprocess(processId, settings.getShell(), env); mProcId = processId[0]; diff --git a/src/jackpal/androidterm/Term.java b/src/jackpal/androidterm/Term.java index 8a3a4ac..824025d 100644 --- a/src/jackpal/androidterm/Term.java +++ b/src/jackpal/androidterm/Term.java @@ -20,6 +20,13 @@ import java.io.UnsupportedEncodingException; import java.text.Collator; import java.util.Arrays; import java.util.Locale; +import java.lang.Process; +import java.lang.ProcessBuilder; +import java.util.Map; + +import java.io.FileReader; +import java.io.BufferedReader; +import java.io.File; import android.app.Activity; import android.app.AlertDialog; @@ -59,6 +66,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; @@ -107,6 +119,9 @@ public class Term extends Activity implements UpdateCallback { public static final String EXTRA_WINDOW_ID = "jackpal.androidterm.window_id"; private int onResumeSelectWindow = -1; + public static String appDir; + public static String webAppFifo; + private PowerManager.WakeLock mWakeLock; private WifiManager.WifiLock mWifiLock; // Available on API 12 and later @@ -257,6 +272,48 @@ public class Term extends Activity implements UpdateCallback { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); + + try { + appDir = getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0).applicationInfo.dataDir; + } catch (Exception e) { + appDir = "/data/data/ga.androidterm"; + } + webAppFifo = appDir + "/fifo"; + + /* webapp url opening thread */ + new Thread() { + @Override + public void run() { + try { + /* First, set up the fifo that urls to open will be + * read from. This is complicated by java not being + * able to mkfifo. */ + File f = new File (webAppFifo); + if (! f.exists()) { + ProcessBuilder pb = new ProcessBuilder(appDir + "/lib/lib.start.so"); + Map env = pb.environment(); + env.put("MKFIFO", webAppFifo); + Process p = pb.start(); + p.waitFor(); + } + + /* Reading from the fifo blocks until a url is written + * to it. */ + while (true) { + BufferedReader buf = new BufferedReader(new FileReader(webAppFifo)); + String s = buf.readLine(); + try { + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s)); + startActivity(intent); + } catch (Exception e) { + } + + } + } catch (Exception e) { + } + } + }.start(); + Log.e(TermDebug.LOG_TAG, "onCreate"); mPrefs = PreferenceManager.getDefaultSharedPreferences(this); mSettings = new TermSettings(getResources(), mPrefs); @@ -427,7 +484,7 @@ public class Term extends Activity implements UpdateCallback { } protected static TermSession createTermSession(Context context, TermSettings settings, String initialCommand) { - ShellTermSession session = new ShellTermSession(settings, initialCommand); + ShellTermSession session = new ShellTermSession(settings, initialCommand, webAppFifo); // XXX We should really be able to fetch this from within TermSession session.setProcessExitMessage(context.getString(R.string.process_exit_message)); @@ -911,31 +968,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 index 1f15cd2..e611956 100755 --- a/tools/build-debug +++ b/tools/build-debug @@ -34,4 +34,4 @@ fi rm -rf `find . -name bin -o -name obj -prune` cd jni -$ANDROID_NDK_ROOT/ndk-build && cd .. && ant debug +$ANDROID_NDK_ROOT/ndk-build && cd .. diff --git a/tools/update.sh b/tools/update.sh index 57219c3..79b45ef 100755 --- a/tools/update.sh +++ b/tools/update.sh @@ -18,7 +18,7 @@ command -v "$ANDROID" >/dev/null 2>&1 || { echo >&2 "The $ANDROID tool is not fo # Make sure target-11 is installed -$ANDROID update sdk -u -t android-11 +$ANDROID update sdk -u -t android-19 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" ATE_ROOT="$( cd $DIR/.. && pwd )" @@ -31,5 +31,5 @@ for PROJECT_FILE in $PROJECT_FILES do PROJECT_DIR="$( dirname "$PROJECT_FILE" )" echo "Updating $PROJECT_FILE" - $ANDROID update project -p "$PROJECT_DIR" --target android-11 + $ANDROID update project -p "$PROJECT_DIR" --target android-19 done