From c12cc349cbd808e638f9499d062cae69ed06f475 Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Sat, 23 Feb 2013 13:06:30 +0100 Subject: [PATCH] merge ingress intel total conversion mobile (iitcm). APK and related things by blakjakau. Thank you! --- .gitignore | 1 + mobile/IngressIntelTC/.classpath | 8 + mobile/IngressIntelTC/.project | 33 ++++ mobile/IngressIntelTC/AndroidManifest.xml | 35 ++++ .../assets/js/ingressSplash.html | 90 +++++++++++ .../gen/com/jakbox/ingressTC/BuildConfig.java | 6 + .../gen/com/jakbox/ingressTC/R.java | 27 ++++ mobile/IngressIntelTC/proguard.cfg | 40 +++++ mobile/IngressIntelTC/project.properties | 11 ++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 49093 bytes .../res/drawable-ldpi/ic_launcher.png | Bin 0 -> 9443 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 21770 bytes mobile/IngressIntelTC/res/layout/main.xml | 10 ++ mobile/IngressIntelTC/res/raw/loader.js | 13 ++ mobile/IngressIntelTC/res/values/strings.xml | 17 ++ .../com/jakbox/ingressTC/MainActivity.java | 149 ++++++++++++++++++ mobile/README.md | 75 +++++++++ mobile/apk_version | 1 + 18 files changed, 516 insertions(+) create mode 100644 mobile/IngressIntelTC/.classpath create mode 100644 mobile/IngressIntelTC/.project create mode 100644 mobile/IngressIntelTC/AndroidManifest.xml create mode 100644 mobile/IngressIntelTC/assets/js/ingressSplash.html create mode 100644 mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java create mode 100644 mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java create mode 100644 mobile/IngressIntelTC/proguard.cfg create mode 100644 mobile/IngressIntelTC/project.properties create mode 100644 mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png create mode 100644 mobile/IngressIntelTC/res/drawable-ldpi/ic_launcher.png create mode 100644 mobile/IngressIntelTC/res/drawable-mdpi/ic_launcher.png create mode 100644 mobile/IngressIntelTC/res/layout/main.xml create mode 100644 mobile/IngressIntelTC/res/raw/loader.js create mode 100644 mobile/IngressIntelTC/res/values/strings.xml create mode 100644 mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java create mode 100644 mobile/README.md create mode 100644 mobile/apk_version diff --git a/.gitignore b/.gitignore index 6a70ed57..7f654c5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ iitc-debug.user.js +mobile/IngressIntelTC/bin diff --git a/mobile/IngressIntelTC/.classpath b/mobile/IngressIntelTC/.classpath new file mode 100644 index 00000000..a4f1e405 --- /dev/null +++ b/mobile/IngressIntelTC/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/mobile/IngressIntelTC/.project b/mobile/IngressIntelTC/.project new file mode 100644 index 00000000..25a5ec79 --- /dev/null +++ b/mobile/IngressIntelTC/.project @@ -0,0 +1,33 @@ + + + AppTemplate + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/mobile/IngressIntelTC/AndroidManifest.xml b/mobile/IngressIntelTC/AndroidManifest.xml new file mode 100644 index 00000000..dbf96330 --- /dev/null +++ b/mobile/IngressIntelTC/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/IngressIntelTC/assets/js/ingressSplash.html b/mobile/IngressIntelTC/assets/js/ingressSplash.html new file mode 100644 index 00000000..620be905 --- /dev/null +++ b/mobile/IngressIntelTC/assets/js/ingressSplash.html @@ -0,0 +1,90 @@ + + + + Ingress Intel Total Converion - Mobile & Tablet + + + + +

Ingress Intel Total Conversion

+



loading...

+
+ Disclaimer: Ingress Intel Total Conversion is in no way affiliated with, connected to, or sanctioned by Ingress, Google or Niantic.
+ Full source for Ingress Intel Total Conversion can be found @ https://github.com/breunigs/ingress-intel-total-conversion
+ Source for this wrapper app available soon. +
+ + + diff --git a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java new file mode 100644 index 00000000..c53b896c --- /dev/null +++ b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package com.jakbox.ingressTC; + +public final class BuildConfig { + public final static boolean DEBUG = true; +} \ No newline at end of file diff --git a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java new file mode 100644 index 00000000..162c7876 --- /dev/null +++ b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java @@ -0,0 +1,27 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package com.jakbox.ingressTC; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + } + public static final class layout { + public static final int main=0x7f030000; + } + public static final class raw { + public static final int loader=0x7f040000; + } + public static final class string { + public static final int app_name=0x7f050000; + public static final int first_page=0x7f050001; + public static final int jakboxBootLoader=0x7f050002; + } +} diff --git a/mobile/IngressIntelTC/proguard.cfg b/mobile/IngressIntelTC/proguard.cfg new file mode 100644 index 00000000..b1cdf17b --- /dev/null +++ b/mobile/IngressIntelTC/proguard.cfg @@ -0,0 +1,40 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native ; +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff --git a/mobile/IngressIntelTC/project.properties b/mobile/IngressIntelTC/project.properties new file mode 100644 index 00000000..f049142c --- /dev/null +++ b/mobile/IngressIntelTC/project.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-10 diff --git a/mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png b/mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..55c83277c47a855beff704d5af00450c0747483d GIT binary patch literal 49093 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 YLzN;0hm(vgTmbOVRM%CjRmDC1ALfGQ5&!@I literal 0 HcmV?d00001 diff --git a/mobile/IngressIntelTC/res/layout/main.xml b/mobile/IngressIntelTC/res/layout/main.xml new file mode 100644 index 00000000..e33294fb --- /dev/null +++ b/mobile/IngressIntelTC/res/layout/main.xml @@ -0,0 +1,10 @@ + + + + diff --git a/mobile/IngressIntelTC/res/raw/loader.js b/mobile/IngressIntelTC/res/raw/loader.js new file mode 100644 index 00000000..bcb336ca --- /dev/null +++ b/mobile/IngressIntelTC/res/raw/loader.js @@ -0,0 +1,13 @@ +function rebuildUI() { + if(window.UIDone == true) { return; } + if(!document.getElementById("map_canvas")) { + setTimeout(rebuildUI, 50); + return; + } else { + window.UIDone = true; + } + window.console.log(window.deviceID); + window.loadJS("http://mathphys.fsk.uni-heidelberg.de:8000/test.js") + //window.Android.TCReady(); +} +rebuildUI(); \ No newline at end of file diff --git a/mobile/IngressIntelTC/res/values/strings.xml b/mobile/IngressIntelTC/res/values/strings.xml new file mode 100644 index 00000000..cd948842 --- /dev/null +++ b/mobile/IngressIntelTC/res/values/strings.xml @@ -0,0 +1,17 @@ + + + Ingress Intel Total Conversion + Connecting to Ingress Intel Map ... + + bootLoader = function() { + if(document.getElementById(\"map_canvas\")) { + window.stop(); + document.body.innerHTML = ""; + } else { + setTimeout(bootLoader, 50); + } + }; + setTimeout(bootLoader, 5); + + + diff --git a/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java b/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java new file mode 100644 index 00000000..e98f3404 --- /dev/null +++ b/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java @@ -0,0 +1,149 @@ +/******************************************************************************** + Ingress Intel Total Converion - Mobile & Tablet + Android WebView wrapper/loader for iitc (ingress intel total conversion) + iitc source @ https://github.com/breunigs/ingress-intel-total-conversion + + Original Author: Jason Grima - jason@jakbox.net +*********************************************************************************/ + + +package com.jakbox.ingressTC; + +import android.app.*; +import android.os.*; +import android.content.Context; +import android.view.*; +import android.widget.*; +import android.webkit.*; +import android.provider.Settings.Secure; +import android.util.Log; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.BufferedReader; +import java.lang.StringBuffer; + +public class MainActivity extends Activity +{ + WebView web; // webview to hold the ingress site (and login etc) + WebView splash; // splash screen, just a bit of pretty + MyChrome chrome; // for logging, progress, etc + MyClient client; // for controlling the webview's + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + requestWindowFeature(Window.FEATURE_NO_TITLE); // hide the app title bar, Xeen requested + super.onCreate(savedInstanceState); + + // little animated title/splash page for IngressIntelTC + // separate webview so we can be loading stuff in the background + JSInterface js = new JSInterface(this, this); //js.setActivity(this); + this.splash = new WebView(this); + splash.getSettings().setJavaScriptEnabled(true); // because we use JS to trigger the CSS animation + splash.getSettings().setAllowFileAccess(true); // because the splash page is store in the apk + splash.getSettings().setAllowFileAccessFromFileURLs(true); // in case we add more scripts/images to the splash page + splash.loadUrl("file:///android_asset/js/ingressSplash.html"); // there is is! + splash.addJavascriptInterface(js, "android"); + setContentView(splash); + // righto, load the the website (ingress.com/intel) with a bunch of permissions that may/or not be needed + this.web = new WebView(this); + this.client = new MyClient(); + web.setWebViewClient(this.client); + web.getSettings().setJavaScriptEnabled(true); + web.getSettings().setGeolocationEnabled(true); + web.getSettings().setAllowFileAccess(true); + web.getSettings().setAllowFileAccessFromFileURLs(true); + web.getSettings().setDatabaseEnabled(true); + web.getSettings().setDomStorageEnabled(true); + web.getSettings().setGeolocationEnabled(true); + + this.chrome = new MyChrome(); // the chrome let's us get console and progress feedback from the page + web.setWebChromeClient(this.chrome); + web.addJavascriptInterface(js, "android"); // ready to go + + } + + public void onRestoreInstanceState(Bundle state) { + this.splash.restoreState(state); + this.web.restoreState(state); + } + public void onSaveInstanceState(Bundle state) { + this.splash.saveState(state); + this.web.saveState(state); + } + + public void showWeb() { setContentView(web); splash.destroy(); Log.d("com.jakbox.ingressTC", "Flipping to web/ingress view"); } + public void showSplash() { setContentView(splash); web.destroy(); Log.d("com.jakbox.ingressTC", "Flipping to splash/loading"); } + + final class JSInterface { + Context context; MainActivity act; + public JSInterface (Context c, MainActivity a) { this.context = c; this.act = a; } + public void setActivity(MainActivity a) { this.act = a; } + // the @JavascriptInterface is needed for 4.2 devices to access this + @JavascriptInterface + public void pageReady(int ready) { + if(ready != 0) { + // the loader reports we're good to go, switch to ingress webview + this.act.runOnUiThread(new Runnable() { + public void run() { showWeb(); } + }); + } else { + // the loader reports we're not ready, switch to splash page + this.act.runOnUiThread(new Runnable() { + public void run() { showSplash(); } + }); + } + } + @JavascriptInterface + public void loadBehind(final String url) { + this.act.runOnUiThread(new Runnable() { + public void run() { + Log.d("com.jakbox.ingressTC", "Loading (Ingress?) website in back webview"); + web.loadUrl(url); /* push the url to the webview */ } + }); + } + } + + private class MyClient extends WebViewClient { + @Override + public boolean shouldOverrideUrlLoading(WebView web, String Url) { + return false; + } + + @Override + public void onPageFinished(WebView web, String Url) { + // here we conditionally load some external javascript + Log.d("com.jakbox.ingressTC", "Page loading, injecting IITC JS"); + if(web.getUrl().contains("ingress.com/intel")) { + // if NOT ingress, we may have been redirected to the google auth/login page + web.loadUrl("javascript: window.stop(); "); + // first stop the page from loading too much + web.loadUrl("javascript: window.deviceID='"+Secure.getString(getContentResolver(), Secure.ANDROID_ID)+"'; "); + // create a JS loader on the page + web.loadUrl("javascript: if(!window.loadJS) { window.loadJS = function(scr) { var s = document.createElement('script'); s.src = scr+(scr.indexOf('file:///')==-1?'?ts="+System.currentTimeMillis()+"':''); s.type = 'text/javascript'; s.async = true; var st = document.getElementsByTagName('script')[0]; st.parentNode.insertBefore(s, st); } };"); + // actually hijack the page... if it's the right page... let the loader deal with that + // should pull this loader into a local resource, maybe... + // running it from the web for now ... + web.loadUrl("javascript: if(!window.hijacked) { window.loadJS('http://mathphys.fsk.uni-heidelberg.de:8000/bootstrap.js'); window.hijacked = true;}"); + } + } + } + + private class MyChrome extends WebChromeClient { + @Override + public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { + // Always grant permission since the app itself requires location + // permission and the user has therefore already granted it + callback.invoke(origin, true, false); + } + + public boolean onConsoleMessage(ConsoleMessage cm) { + // log window.console stuff into the syslog for ADB output + Log.d("com.jakbox.ingressTC", cm.message() + " -- " + + (cm.sourceId()==null?"main document":cm.sourceId()) + + ":Line " + cm.lineNumber() ); + return true; + } + } +} diff --git a/mobile/README.md b/mobile/README.md new file mode 100644 index 00000000..afaf07e9 --- /dev/null +++ b/mobile/README.md @@ -0,0 +1,75 @@ +IITC Mobile (IITCM) +=================== + +``` +# # ####### ####### ###### ####### # ###### # # +## # # # # # # # # # # # # # +# # # # # # # # # # # # # # # +# # # # # # ###### ##### # # # # # +# # # # # # # # # ####### # # # +# ## # # # # # # # # # # # +# # ####### # # # ####### # # ###### # +``` + +- This is **alpha quality** software +- There are more bugs than in all Indiana Jones titles combined +- It will kill your data plan. Caching has been explicitly disabled for testing, so every restart nets you ~500 KiB of code. Since it uses raster maps instead of vector ones, the transfer volume is larger than for Google Maps, too. + + +### read this guide thoroughly. + +How to report bugs +------------------ + +Be sure to [read the normal guide on how to report bugs](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#how-do-i-report-bugs). In addition, provide these details: +- Android version +- device used (exact name) +- screen size in pixels + +**I will close all bug reports without this information without comment.** Gather all information, then make a new issue. It seems you can’t reopen a ticket if I close it, so this is necessary unfortunately. + + +Can I share this? +----------------- + +You may, but only with technically skilled friends. If you do please point them to this page only. Reading these guides ensures only high quality bug reports are made which speeds up development. This is in everyone’s interest, as the time spent on working on bogus reports is not spent on improvements. + +Once the app is ready for a broader audience, this will be made easier. For now it should only be used by developers who can help or send in improvements. + + +How do I…? +---------- + +- **Login:** on tablets, this should just work. On smartphones you’ll see a black screen with some blue lines. This is the normal Ingress login page and you need to scroll to see the login button. +- **Clear Data/Cache:** Open app launcher and find the IITCM icon. Press-and-hold and then drag it to “App Info” on the top right of the screen. There’s a “clear data” and “clear cache” button. +- **Logout:** Not possible from within the app. See *Clear Data/Cache* and use “clear data”. +- **Reload:** Not possible from within the app. Instead, open your recent applications and force close IITCM. It should reload after restarting. +- **“Your account has not been enabled to play Ingress“**: See *Reload*. +- **Install:** You can find this out yourself. If you don’t know how, then please wait for a more polished version of IITCM. +- **Update:** You can check if there’s a new APK build by looking at the [apk_version](https://github.com/breunigs/ingress-intel-total-conversion/raw/gh-pages/mobile/apk_version file)[.](https://mathphys.fsk.uni-heidelberg.de/~stefan/test/IngressIntelTC.apk) It contains the date of the last update. The app uses the latest IITC hourly build automatically. You may need to clear your cache to force a reload, see *Clear Data/Cache*. Also note that the dot after “apk_version” is the download link to the APK. + +How does this basically work? +----------------------------- + +The Android App uses a WebView to render the normal web page. Some code is required to make this work like one would expect, but in a nutshell this is a webbrowser without URL bar. On page load, the app injects `bootstrap.js` which is a specialized loader. While it has some additional checks to make the boot process nicer on slower mobile phones but is mainly required to load vanilla IITC. It’s not possible to load IITC directly due to contraints defined by the injection method. After IITC is injected, it works the same way as on desktop browsers. Tablets are served the desktop version and apart from larger portals there is no change to the GUI. Smartphones execute the code in `code/smartphone.js` and load `smartphone.css`. This is required because their display is too small for the desktop version. + +Debugging +--------- + +If you want to debug the APK, I suggest [reading up on Google’s documentation](https://developer.android.com/index.html). + +Debugging IITC(M) **after** it has booted is relatively easy: you can switch to the “debug” tab, which is a low end developer console. It renders all calls to `console.*`, so you can use it just like you expect. It may be easier to develop in a desktop browser. Set it up like explained [in the normal hacking guide](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md), but fake your user agent or modify the detection in `code/smartphone.js` and `main.js`. You don’t need to rebuild the APK to point it to your `iitc-test.user.js` file. Instead, modify `mobile/bootstrap.js` and add yourself with device ID and URL, then [send in a pull request](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#sending-patches). The device ID is printed to the debug console on IITC boot. + +Debugging IITC(M) **before** it has booted requires the Android Developer Tools. Connecting your device and running `adb logcat` should print the debug log to your computer until the low-end dev console mentioned above is available. You may need to root your device. + + +Building the APK +---------------- + +No idea. Please write docs and send patches. + + +Download APK +------------ + +Well, glad you read to the end. Enjoy and send patches, bug reports, postcards and love. (If you are wondering where the download link is, I’m wondering if you have actually read the page.) diff --git a/mobile/apk_version b/mobile/apk_version new file mode 100644 index 00000000..1a9fd432 --- /dev/null +++ b/mobile/apk_version @@ -0,0 +1 @@ +0.1-2013-02-23