diff --git a/mobile/AndroidManifest.xml b/mobile/AndroidManifest.xml index 29831632..d8fa1712 100644 --- a/mobile/AndroidManifest.xml +++ b/mobile/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="52" + android:versionName="0.7.2"> { - private HighlighterComparator mComparator = new HighlighterComparator(); + private final HighlighterComparator mComparator = new HighlighterComparator(); private HighlighterAdapter(int resource) { super(mIitc, resource); @@ -67,8 +67,7 @@ public class IITC_MapSettings implements OnItemSelectedListener, OnItemClickList } } - private class LayerAdapter extends ArrayAdapter - { + private class LayerAdapter extends ArrayAdapter { public LayerAdapter(int resource) { super(mIitc, resource); } @@ -84,15 +83,15 @@ public class IITC_MapSettings implements OnItemSelectedListener, OnItemClickList } } - private IITC_Mobile mIitc; + private final IITC_Mobile mIitc; - private ArrayAdapter mHighlighters; - private ArrayAdapter mBaseLayers; - private ArrayAdapter mOverlayLayers; + private final ArrayAdapter mHighlighters; + private final ArrayAdapter mBaseLayers; + private final ArrayAdapter mOverlayLayers; - private Spinner mSpinnerBaseMap; - private Spinner mSpinnerHighlighter; - private ListView mListViewOverlayLayers; + private final Spinner mSpinnerBaseMap; + private final Spinner mSpinnerHighlighter; + private final ListView mListViewOverlayLayers; private String mActiveHighlighter; private int mActiveLayer; @@ -181,8 +180,7 @@ public class IITC_MapSettings implements OnItemSelectedListener, OnItemClickList if (parent.equals(mSpinnerHighlighter)) { String name = mHighlighters.getItem(position); mIitc.getWebView().loadUrl("javascript: window.changePortalHighlights('" + name + "')"); - } - else if (parent.equals(mSpinnerBaseMap)) { + } else if (parent.equals(mSpinnerBaseMap)) { mBaseLayers.getItem(mActiveLayer).active = false; // set old layer to hidden, but no need to really hide Layer layer = mBaseLayers.getItem(position); @@ -253,7 +251,6 @@ public class IITC_MapSettings implements OnItemSelectedListener, OnItemClickList mBaseLayers.add(layer); } catch (JSONException e) { e.printStackTrace(); - continue; } } mBaseLayers.notifyDataSetChanged(); @@ -273,7 +270,6 @@ public class IITC_MapSettings implements OnItemSelectedListener, OnItemClickList mOverlayLayers.add(layer); } catch (JSONException e) { e.printStackTrace(); - continue; } } mOverlayLayers.notifyDataSetChanged(); diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index 79439c65..25c4cb9c 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -24,7 +24,6 @@ import android.view.View; import android.view.Window; import android.view.WindowManager; import android.webkit.CookieManager; -import android.webkit.WebSettings; import android.webkit.WebView; import android.widget.SearchView; import android.widget.Toast; @@ -36,17 +35,15 @@ import java.net.URISyntaxException; import java.util.Locale; import java.util.Stack; -public class IITC_Mobile extends Activity { +public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeListener, LocationListener { private static final int REQUEST_LOGIN = 1; private IITC_WebView mIitcWebView; - private OnSharedPreferenceChangeListener mSharedPrefChangeListener; private final String mIntelUrl = "https://www.ingress.com/intel"; private boolean mIsLocEnabled = false; private Location mLastLocation = null; private LocationManager mLocMngr = null; - private LocationListener mLocListener = null; private boolean mFullscreenMode = false; private IITC_DeviceAccountLogin mLogin; private MenuItem mSearchMenuItem; @@ -81,39 +78,7 @@ public class IITC_Mobile extends Activity { // do something if user changed something in the settings mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); - mSharedPrefChangeListener = new OnSharedPreferenceChangeListener() { - @Override - public void onSharedPreferenceChanged( - SharedPreferences sharedPreferences, String key) { - if (key.equals("pref_force_desktop")) { - mDesktopMode = sharedPreferences.getBoolean("pref_force_desktop", false); - mNavigationHelper.onPrefChanged(); - } - if (key.equals("pref_user_loc")) - mIsLocEnabled = sharedPreferences.getBoolean("pref_user_loc", - false); - if (key.equals("pref_fullscreen_actionbar")) { - mNavigationHelper.onPrefChanged(); - return; - } - if (key.equals("pref_advanced_menu")) { - mAdvancedMenu = sharedPreferences.getBoolean("pref_advanced_menu", false); - mNavigationHelper.setDebugMode(mAdvancedMenu); - invalidateOptionsMenu(); - // no reload needed - return; - } - - if (key.equals("pref_press_twice_to_exit") - || key.equals("pref_share_selected_tab") - || key.equals("pref_messages")) - // no reload needed - return; - - mReloadNeeded = true; - } - }; - mSharedPrefs.registerOnSharedPreferenceChangeListener(mSharedPrefChangeListener); + mSharedPrefs.registerOnSharedPreferenceChangeListener(this); // enable/disable mDesktopMode mode on menu create and url load mDesktopMode = mSharedPrefs.getBoolean("pref_force_desktop", false); @@ -125,33 +90,14 @@ public class IITC_Mobile extends Activity { mLocMngr = (LocationManager) this .getSystemService(Context.LOCATION_SERVICE); - // Define a mSharedPrefChangeListener that responds to location updates - mLocListener = new LocationListener() { - public void onLocationChanged(Location location) { - // Called when a new location is found by the network location - // provider. - drawMarker(location); - mLastLocation = location; - } - - public void onStatusChanged(String provider, int status, Bundle extras) { - } - - public void onProviderEnabled(String provider) { - } - - public void onProviderDisabled(String provider) { - } - }; - mIsLocEnabled = mSharedPrefs.getBoolean("pref_user_loc", false); if (mIsLocEnabled) { // Register the mSharedPrefChangeListener with the Location Manager to receive // location updates mLocMngr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, - 0, 0, mLocListener); + 0, 0, this); mLocMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, - mLocListener); + this); } // Clear the back stack @@ -160,6 +106,63 @@ public class IITC_Mobile extends Activity { handleIntent(getIntent(), true); } + // --------------------- onSharedPreferenceListener ----------------------- + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + if (key.equals("pref_force_desktop")) { + mDesktopMode = sharedPreferences.getBoolean("pref_force_desktop", false); + mNavigationHelper.onPrefChanged(); + } + if (key.equals("pref_user_loc")) + mIsLocEnabled = sharedPreferences.getBoolean("pref_user_loc", + false); + if (key.equals("pref_fullscreen_actionbar")) { + mNavigationHelper.onPrefChanged(); + return; + } + if (key.equals("pref_advanced_menu")) { + mAdvancedMenu = sharedPreferences.getBoolean("pref_advanced_menu", false); + mNavigationHelper.setDebugMode(mAdvancedMenu); + invalidateOptionsMenu(); + // no reload needed + return; + } + + if (key.equals("pref_press_twice_to_exit") + || key.equals("pref_share_selected_tab") + || key.equals("pref_messages")) + // no reload needed + return; + + mReloadNeeded = true; + } + // ------------------------------------------------------------------------ + + // ------------------------ LocationListener ------------------------------ + @Override + public void onLocationChanged(Location location) { + // Called when a new location is found by the network location + // provider. + drawMarker(location); + mLastLocation = location; + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + + } + + @Override + public void onProviderEnabled(String provider) { + + } + + @Override + public void onProviderDisabled(String provider) { + + } + // ------------------------------------------------------------------------ + @Override protected void onNewIntent(Intent intent) { setIntent(intent); @@ -273,15 +276,14 @@ public class IITC_Mobile extends Activity { if (mIsLocEnabled) { // Register the mSharedPrefChangeListener with the Location Manager to receive // location updates - mLocMngr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mLocListener); - mLocMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocListener); + mLocMngr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); + mLocMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } if (mReloadNeeded) { Log.d("iitcm", "preference had changed...reload needed"); reloadIITC(); - } - else { + } else { // iitc is not fully booted...timer will be reset by the script itself if (findViewById(R.id.imageLoading).getVisibility() == View.GONE) { mIitcWebView.loadUrl("javascript: window.idleReset();"); @@ -295,7 +297,7 @@ public class IITC_Mobile extends Activity { mIitcWebView.loadUrl("javascript: window.idleSet();"); if (mIsLocEnabled) - mLocMngr.removeUpdates(mLocListener); + mLocMngr.removeUpdates(this); super.onStop(); } @@ -350,7 +352,6 @@ public class IITC_Mobile extends Activity { if (mBackButtonPressed || !mSharedPrefs.getBoolean("pref_press_twice_to_exit", false)) { super.onBackPressed(); - return; } else { mBackButtonPressed = true; Toast.makeText(this, "Press twice to exit", Toast.LENGTH_SHORT).show(); @@ -571,7 +572,7 @@ public class IITC_Mobile extends Activity { * called by IITC_WebViewClient when the Google login form is opened. */ public void onReceivedLoginRequest(IITC_WebViewClient client, WebView view, - String realm, String account, String args) { + String realm, String account, String args) { mLogin = new IITC_DeviceAccountLogin(this, view, client); mLogin.startLogin(realm, account, args); } @@ -618,8 +619,8 @@ public class IITC_Mobile extends Activity { } /** - * @deprecated ActionBar related stuff should be handled by IITC_NavigationHelper * @see getNavigationHelper() + * @deprecated ActionBar related stuff should be handled by IITC_NavigationHelper */ @Deprecated @Override diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java index b7b7f629..1c0af426 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java @@ -60,8 +60,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt view.setText(getPaneTitle(item)); int icon = 0; - switch (item) - { + switch (item) { case MAP: icon = R.drawable.location_map; break; @@ -100,13 +99,13 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt public static final int NOTICE_INFO = 1 << 1; // next one would be 1<<2; (this results in 1,2,4,8,...) - private IITC_Mobile mIitc; - private ActionBar mActionBar; - private SharedPreferences mPrefs; - private NavigationAdapter mNavigationAdapter; - private DrawerLayout mDrawerLayout; - private ListView mDrawerLeft; - private View mDrawerRight; + private final IITC_Mobile mIitc; + private final ActionBar mActionBar; + private final SharedPreferences mPrefs; + private final NavigationAdapter mNavigationAdapter; + private final DrawerLayout mDrawerLayout; + private final ListView mDrawerLeft; + private final View mDrawerRight; private boolean mDesktopMode = false; private boolean mFullscreen = false; @@ -236,8 +235,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt mDrawerLayout.closeDrawers(); } - public String getPaneTitle(Pane pane) - { + public String getPaneTitle(Pane pane) { switch (pane) { case INFO: return "Info"; diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_PluginPreferenceActivity.java b/mobile/src/com/cradle/iitc_mobile/IITC_PluginPreferenceActivity.java index 209db065..b8909fca 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_PluginPreferenceActivity.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_PluginPreferenceActivity.java @@ -62,7 +62,7 @@ public class IITC_PluginPreferenceActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { - if(onIsMultiPane()) getIntent() + if (onIsMultiPane()) getIntent() .putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, PluginsFragment.class.getName()); super.onCreate(savedInstanceState); } @@ -76,7 +76,7 @@ public class IITC_PluginPreferenceActivity extends PreferenceActivity { // Select the displayed fragment in the headers (when using a tablet) : // This should be done by Android, it is a bug fix // thx to http://stackoverflow.com/a/16793839 - if(mHeaders != null) { + if (mHeaders != null) { final String displayedFragment = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT); if (displayedFragment != null) { @@ -227,7 +227,7 @@ public class IITC_PluginPreferenceActivity extends PreferenceActivity { // now we have all stuff together and can build the preference // first check if we need a new category - if (sPlugins.containsKey(plugin_cat) == false) { + if (!sPlugins.containsKey(plugin_cat)) { sPlugins.put(plugin_cat, new ArrayList()); Log.d("iitcm", "create " + plugin_cat + " and add " + plugin_name); } @@ -288,7 +288,7 @@ public class IITC_PluginPreferenceActivity extends PreferenceActivity { TextView summary; } - private LayoutInflater mInflater; + private final LayoutInflater mInflater; static int getHeaderType(Header header) { if (header.fragment == null && header.intent == null) { diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java index c0966c28..affa80c1 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java @@ -53,7 +53,7 @@ public class IITC_WebView extends WebView { */ @Override public void onGeolocationPermissionsShowPrompt(String origin, - GeolocationPermissions.Callback callback) { + GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java b/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java index ca67e9f5..3297447c 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java @@ -148,7 +148,7 @@ public class IITC_WebViewClient extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { if (url.startsWith("http://www.ingress.com/intel") - || url.startsWith("https://www.ingress.com/intel")) { + || url.startsWith("https://www.ingress.com/intel")) { Log.d("iitcm", "injecting iitc.."); view.loadUrl("javascript: " + this.mIitcScript); } diff --git a/mobile/src/com/cradle/iitc_mobile/async/CheckHttpResponse.java b/mobile/src/com/cradle/iitc_mobile/async/CheckHttpResponse.java index 057b0c74..dde6e89c 100644 --- a/mobile/src/com/cradle/iitc_mobile/async/CheckHttpResponse.java +++ b/mobile/src/com/cradle/iitc_mobile/async/CheckHttpResponse.java @@ -24,13 +24,13 @@ import java.io.IOException; */ public class CheckHttpResponse extends AsyncTask { - private IITC_JSInterface mJsInterface; - private Context mContext; + private final IITC_JSInterface mJsInterface; + private final Context mContext; public CheckHttpResponse(IITC_JSInterface jsInterface, Context c) { mContext = c; mJsInterface = jsInterface; - }; + } @Override protected Boolean doInBackground(String... urls) { diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentFragmentAdapter.java b/mobile/src/com/cradle/iitc_mobile/share/IntentFragmentAdapter.java index 68743a08..fd803345 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentFragmentAdapter.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentFragmentAdapter.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; public class IntentFragmentAdapter extends FragmentPagerAdapter { - private List mTabs; + private final List mTabs; public IntentFragmentAdapter(FragmentManager fm) { super(fm); diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java index d0a72cc6..9c6b16c1 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java @@ -74,7 +74,7 @@ public class IntentListView extends ListView { private IntentAdapter mAdapter; private PackageManager mPackageManager; - HashMap mActivities = new HashMap(); + private final HashMap mActivities = new HashMap(); public IntentListView(Context context) { super(context); @@ -155,7 +155,6 @@ public class IntentListView extends ListView { if (hasCopyIntent || !activity.name.equals(SendToClipboard.class.getCanonicalName())) { activityList.remove(i); i--; - continue; } } } @@ -172,8 +171,7 @@ public class IntentListView extends ListView { if (resolveInfo.activityInfo.packageName.equals(defaultTarget.activityInfo.packageName) && resolveInfo.activityInfo.name.equals(defaultTarget.activityInfo.name)) { allActivities.add(0, resolveInfo); - } - else { + } else { allActivities.add(resolveInfo); } } diff --git a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java index 71200af3..aeec04cc 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java +++ b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java @@ -108,7 +108,7 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList Intent intent = getIntent(); // from portallinks/permalinks we build 3 intents (share / geo / vanilla-intel-link) - if (intent.getBooleanExtra("onlyShare", false) == false) { + if (!intent.getBooleanExtra("onlyShare", false)) { mTitle = intent.getStringExtra("title"); mLl = intent.getDoubleExtra("lat", 0) + "," + intent.getDoubleExtra("lng", 0); mZoom = intent.getIntExtra("zoom", 0);