diff --git a/mobile/res/drawable-hdpi/ic_action_place.png b/mobile/res/drawable-hdpi/ic_action_place.png
new file mode 100644
index 00000000..dba994d8
Binary files /dev/null and b/mobile/res/drawable-hdpi/ic_action_place.png differ
diff --git a/mobile/res/drawable-hdpi/ic_action_settings.png b/mobile/res/drawable-hdpi/ic_action_settings.png
deleted file mode 100644
index f50c2d3a..00000000
Binary files a/mobile/res/drawable-hdpi/ic_action_settings.png and /dev/null differ
diff --git a/mobile/res/drawable-mdpi/ic_action_place.png b/mobile/res/drawable-mdpi/ic_action_place.png
new file mode 100644
index 00000000..ce055ca6
Binary files /dev/null and b/mobile/res/drawable-mdpi/ic_action_place.png differ
diff --git a/mobile/res/drawable-mdpi/ic_action_settings.png b/mobile/res/drawable-mdpi/ic_action_settings.png
deleted file mode 100644
index 04f61dea..00000000
Binary files a/mobile/res/drawable-mdpi/ic_action_settings.png and /dev/null differ
diff --git a/mobile/res/drawable-xhdpi/ic_action_place.png b/mobile/res/drawable-xhdpi/ic_action_place.png
new file mode 100644
index 00000000..49adf813
Binary files /dev/null and b/mobile/res/drawable-xhdpi/ic_action_place.png differ
diff --git a/mobile/res/drawable-xhdpi/ic_action_settings.png b/mobile/res/drawable-xhdpi/ic_action_settings.png
deleted file mode 100644
index 3f2f394f..00000000
Binary files a/mobile/res/drawable-xhdpi/ic_action_settings.png and /dev/null differ
diff --git a/mobile/res/drawable-xxhdpi/ic_action_place.png b/mobile/res/drawable-xxhdpi/ic_action_place.png
new file mode 100644
index 00000000..25623c77
Binary files /dev/null and b/mobile/res/drawable-xxhdpi/ic_action_place.png differ
diff --git a/mobile/res/drawable-xxhdpi/ic_action_settings.png b/mobile/res/drawable-xxhdpi/ic_action_settings.png
deleted file mode 100644
index 6725c082..00000000
Binary files a/mobile/res/drawable-xxhdpi/ic_action_settings.png and /dev/null differ
diff --git a/mobile/res/menu/main.xml b/mobile/res/menu/main.xml
index 8ddb56e3..63790b3f 100644
--- a/mobile/res/menu/main.xml
+++ b/mobile/res/menu/main.xml
@@ -19,20 +19,20 @@
android:showAsAction="ifRoom"
android:title="@string/layer_chooser">
- -
-
-
+ -
+
-
-
diff --git a/mobile/res/values/strings.xml b/mobile/res/values/strings.xml
index e6e934f0..8d1ed63c 100644
--- a/mobile/res/values/strings.xml
+++ b/mobile/res/values/strings.xml
@@ -150,9 +150,9 @@
Copied to clipboard…
Do not show again
- Map
+ Locate
Share
- Browser
+ Intel
Highlighter
Base Layer
diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java
index 3332f442..ea2b4092 100644
--- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java
+++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java
@@ -324,6 +324,12 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis
super.onStop();
}
+ @Override
+ protected void onDestroy() {
+ unregisterReceiver(mBroadcastReceiver);
+ super.onDestroy();
+ }
+
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java
index c0c0fccf..f00cad8d 100644
--- a/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java
+++ b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java
@@ -71,7 +71,15 @@ public class IITC_WebView extends WebView {
@Override
public void run() {
if (isInFullscreen() && (getFullscreenStatus() & (FS_NAVBAR)) != 0) {
- setSystemUiVisibility(SYSTEM_UI_FLAG_HIDE_NAVIGATION);
+ int systemUiVisibility = SYSTEM_UI_FLAG_HIDE_NAVIGATION;
+ // in immersive mode the user can interact with the app while the navbar is hidden
+ // this mode is available since KitKat
+ // you can leave this mode by swiping down from the top of the screen. this does only work
+ // when the app is in total-fullscreen mode
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && (mFullscreenStatus & FS_SYSBAR) != 0) {
+ systemUiVisibility |= SYSTEM_UI_FLAG_IMMERSIVE;
+ }
+ setSystemUiVisibility(systemUiVisibility);
}
}
};
@@ -165,12 +173,7 @@ public class IITC_WebView extends WebView {
public void loadJS(String js) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- evaluateJavascript(js, new ValueCallback() {
- @Override
- public void onReceiveValue(String value) {
- // maybe we want to add stuff here
- }
- });
+ evaluateJavascript(js, null);
} else {
// if in edit text mode, don't load javascript otherwise the keyboard closes.
HitTestResult testResult = getHitTestResult();
@@ -190,20 +193,22 @@ public class IITC_WebView extends WebView {
@Override
public boolean onTouchEvent(MotionEvent event) {
getHandler().removeCallbacks(mNavHider);
- getHandler().postDelayed(mNavHider, 2000);
+ getHandler().postDelayed(mNavHider, 3000);
return super.onTouchEvent(event);
}
@Override
public void setSystemUiVisibility(int visibility) {
- getHandler().postDelayed(mNavHider, 2000);
+ if ((visibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) {
+ getHandler().postDelayed(mNavHider, 3000);
+ }
super.setSystemUiVisibility(visibility);
}
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
if (hasWindowFocus) {
- getHandler().postDelayed(mNavHider, 2000);
+ getHandler().postDelayed(mNavHider, 3000);
} else {
getHandler().removeCallbacks(mNavHider);
}
@@ -225,7 +230,7 @@ public class IITC_WebView extends WebView {
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
}
if ((mFullscreenStatus & FS_NAVBAR) != 0) {
- setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
+ getHandler().post(mNavHider);
}
if ((mFullscreenStatus & FS_STATUSBAR) != 0) {
loadUrl("javascript: $('#updatestatus').hide();");
diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java
index fdec0b86..785c1edb 100644
--- a/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java
+++ b/mobile/src/com/cradle/iitc_mobile/share/IntentListView.java
@@ -9,6 +9,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
+import android.util.DisplayMetrics;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
@@ -37,6 +38,10 @@ public class IntentListView extends ListView {
}
private class IntentAdapter extends ArrayAdapter {
+
+ // actually the mdpi pixel size is 48, but this looks ugly...so scale icons down for listView
+ private static final int MDPI_PX = 36;
+
private IntentAdapter() {
super(IntentListView.this.getContext(), android.R.layout.simple_list_item_1);
}
@@ -48,11 +53,19 @@ public class IntentListView extends ListView {
ActivityInfo info = getItem(position).activityInfo;
CharSequence label = info.loadLabel(mPackageManager);
+
+ // get icon and scale it manually to ensure that all have the same size
Drawable icon = info.loadIcon(mPackageManager);
+ DisplayMetrics dm = new DisplayMetrics();
+ ((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(dm);
+ float densityScale = dm.density;
+ float scaledWidth = MDPI_PX * densityScale;
+ float scaledHeight = MDPI_PX * densityScale;
+ icon.setBounds(0,0,Math.round(scaledWidth),Math.round(scaledHeight));
view.setText(label);
view.setCompoundDrawablePadding((int) getResources().getDimension(R.dimen.icon_margin));
- view.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
+ view.setCompoundDrawables(icon, null, null, null);
return view;
}
diff --git a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java
index 24523eeb..b09e57f9 100644
--- a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java
+++ b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java
@@ -81,7 +81,7 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList
String geoUri = "geo:" + mLl;
Intent geoIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(geoUri));
intents.add(geoIntent);
- addTab(intents, R.string.tab_map, R.drawable.ic_action_map);
+ addTab(intents, R.string.tab_map, R.drawable.ic_action_place);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getUrl()));
addTab(intent, R.string.tab_browser, R.drawable.ic_action_web_site);
@@ -122,6 +122,9 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList
setupShareIntent(intent.getStringExtra("shareString"));
}
+ // show portal name as action bar title, if available
+ if (mTitle != getString(R.string.app_name)) actionBar.setTitle(mTitle);
+
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mFragmentAdapter);