added configurable menu
This commit is contained in:
parent
b173f778a5
commit
b3ec1974b6
@ -128,13 +128,12 @@
|
||||
<string name="pref_enable_dev_mode">Enable developer mode</string>
|
||||
<string name="pref_enable_dev_mode_sum">If enabled, all IITC sources will be loaded from external storage of the Android device.
|
||||
Please copy all sources from $IITC_folder/build/mobile/ to /sdcard/IITC_Mobile/dev/.</string>
|
||||
<string name="pref_advanced_menu">Display advanced menu</string>
|
||||
<string name="pref_advanced_menu_sum">In addition to the default IITC buttons the advanced menu
|
||||
contains a debug pane plus an option to clear cookies</string>
|
||||
<string name="pref_disable_splash">Disable Splash Screen</string>
|
||||
<string name="pref_fake_user_agent">Fake User Agent</string>
|
||||
<string name="pref_fake_user_agent_sum">Let IITCm appear as a desktop browser for the intel site.
|
||||
Note: If just want to use the desktop mode use the \'force desktop mode\' setting</string>
|
||||
<string name="pref_android_menu">Configure IITCm menu</string>
|
||||
<string name="pref_android_menu_sum">Toggle visibility of IITCm menu entries</string>
|
||||
|
||||
<string-array name="pref_hide_fullscreen">
|
||||
<item>System Bar</item>
|
||||
@ -148,6 +147,30 @@
|
||||
<item>8</item>
|
||||
<item>16</item>
|
||||
</string-array>
|
||||
<string-array name="pref_hide_fullscreen_defaults">
|
||||
<item>2</item>
|
||||
<item>4</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_android_menu_entries">
|
||||
<item>@string/menu_search</item>
|
||||
<item>@string/menu_locate</item>
|
||||
<item>@string/menu_layer_chooser</item>
|
||||
<item>@string/menu_toggle_fullscreen</item>
|
||||
<item>@string/menu_reload</item>
|
||||
<item>@string/menu_send_screenshot</item>
|
||||
<item>@string/menu_clear_cookies</item>
|
||||
<item>@string/menu_debug</item>
|
||||
</string-array>
|
||||
<string-array name="pref_android_menu_default">
|
||||
<item>@string/menu_search</item>
|
||||
<item>@string/menu_locate</item>
|
||||
<item>@string/menu_layer_chooser</item>
|
||||
<item>@string/menu_toggle_fullscreen</item>
|
||||
<item>@string/menu_reload</item>
|
||||
<item>@string/menu_send_screenshot</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_user_location_titles">
|
||||
<item>Don\'t show user position</item>
|
||||
<item>Show user position on map</item>
|
||||
|
@ -18,9 +18,11 @@
|
||||
android:title="@string/pref_user_zoom"/>
|
||||
|
||||
<MultiSelectListPreference
|
||||
android:defaultValue="@array/pref_hide_fullscreen_defaults"
|
||||
android:entries="@array/pref_hide_fullscreen"
|
||||
android:entryValues="@array/pref_hide_fullscreen_vals"
|
||||
android:key="pref_fullscreen"
|
||||
android:persistent="true"
|
||||
android:summary="@string/pref_fullscreen_sum"
|
||||
android:title="@string/pref_fullscreen"/>
|
||||
|
||||
@ -77,11 +79,14 @@
|
||||
<PreferenceCategory
|
||||
android:key="pref_advanced_ui_cat"
|
||||
android:title="@string/pref_ui_cat">
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="pref_advanced_menu"
|
||||
android:summary="@string/pref_advanced_menu_sum"
|
||||
android:title="@string/pref_advanced_menu"/>
|
||||
<MultiSelectListPreference
|
||||
android:defaultValue="@array/pref_android_menu_default"
|
||||
android:entries="@array/pref_android_menu_entries"
|
||||
android:entryValues="@array/pref_android_menu_entries"
|
||||
android:key="pref_android_menu"
|
||||
android:persistent="true"
|
||||
android:summary="@string/pref_android_menu_sum"
|
||||
android:title="@string/pref_android_menu"/>
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="pref_disable_splash"
|
||||
|
@ -49,6 +49,8 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.Stack;
|
||||
import java.util.Vector;
|
||||
import java.util.regex.Matcher;
|
||||
@ -67,7 +69,7 @@ public class IITC_Mobile extends Activity
|
||||
private IITC_DeviceAccountLogin mLogin;
|
||||
private final Vector<ResponseHandler> mResponseHandlers = new Vector<ResponseHandler>();
|
||||
private boolean mDesktopMode = false;
|
||||
private boolean mAdvancedMenu = false;
|
||||
private Set<String> mAdvancedMenu;
|
||||
private MenuItem mSearchMenuItem;
|
||||
private View mImageLoading;
|
||||
private ListView mLvDebug;
|
||||
@ -135,7 +137,7 @@ public class IITC_Mobile extends Activity
|
||||
mDesktopMode = mSharedPrefs.getBoolean("pref_force_desktop", false);
|
||||
|
||||
// enable/disable advance menu
|
||||
mAdvancedMenu = mSharedPrefs.getBoolean("pref_advanced_menu", false);
|
||||
mAdvancedMenu = mSharedPrefs.getStringSet("pref_android_menu", new HashSet<String>());
|
||||
|
||||
// get fullscreen status from settings
|
||||
mIitcWebView.updateFullscreenStatus();
|
||||
@ -177,9 +179,9 @@ public class IITC_Mobile extends Activity
|
||||
mIitcWebView.updateFullscreenStatus();
|
||||
mNavigationHelper.onPrefChanged();
|
||||
return;
|
||||
} else if (key.equals("pref_advanced_menu")) {
|
||||
mAdvancedMenu = sharedPreferences.getBoolean("pref_advanced_menu", false);
|
||||
mNavigationHelper.setDebugMode(mAdvancedMenu);
|
||||
} else if (key.equals("pref_android_menu")) {
|
||||
mAdvancedMenu = mSharedPrefs.getStringSet("pref_android_menu", new HashSet<String>());
|
||||
mNavigationHelper.setDebugMode(mAdvancedMenu.contains(R.string.menu_debug));
|
||||
invalidateOptionsMenu();
|
||||
// no reload needed
|
||||
return;
|
||||
@ -505,12 +507,8 @@ public class IITC_Mobile extends Activity
|
||||
item.setVisible(true);
|
||||
break;
|
||||
|
||||
case R.id.menu_clear_cookies:
|
||||
item.setVisible(mAdvancedMenu && visible);
|
||||
break;
|
||||
|
||||
case R.id.locate:
|
||||
item.setVisible(visible);
|
||||
item.setVisible(mAdvancedMenu.contains(item.getTitle()) && visible);
|
||||
item.setEnabled(!mIsLoading);
|
||||
item.setIcon(mUserLocation.isFollowing()
|
||||
? R.drawable.ic_action_location_follow
|
||||
@ -518,12 +516,12 @@ public class IITC_Mobile extends Activity
|
||||
break;
|
||||
|
||||
case R.id.menu_debug:
|
||||
item.setVisible(mAdvancedMenu && visible);
|
||||
item.setVisible(mAdvancedMenu.contains(item.getTitle()) && visible);
|
||||
item.setChecked(mDebugging);
|
||||
break;
|
||||
|
||||
default:
|
||||
item.setVisible(visible);
|
||||
item.setVisible(mAdvancedMenu.contains(item.getTitle()) && visible);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -217,10 +217,6 @@ public class IITC_WebView extends WebView {
|
||||
final Set<String> entries = mSharedPrefs.getStringSet("pref_fullscreen", new HashSet<String>());
|
||||
mFullscreenStatus &= FS_ENABLED;
|
||||
|
||||
// default values...android has no nice way to add default values to multiSelectListPreferences
|
||||
if (entries.isEmpty()) {
|
||||
mFullscreenStatus += FS_ACTIONBAR | FS_SYSBAR;
|
||||
}
|
||||
for (final String entry : entries) {
|
||||
mFullscreenStatus += Integer.parseInt(entry);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user