Merge branch 'newnavigation' of git://github.com/fkloft/ingress-intel-total-conversion into fkloft-newnavigation
This commit is contained in:
commit
fc782218f1
@ -55,6 +55,13 @@
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.]]>
|
||||
</string>
|
||||
<string name="notice_drawers">
|
||||
<![CDATA[IITCm recently changed its navigation structure. How to use it:<br><br>
|
||||
• Navigation: swipe from the left edge of your screen (or click the app icon) to evoke the Navigation Drawer.
|
||||
Click the app icon again to return to the map.<br><br>
|
||||
• Layers/Highlights: swipe from the right edge of your screen (or click the layer-chooser icon in the ActionBar)
|
||||
to evoke the Layer Drawer]]>
|
||||
</string>
|
||||
|
||||
<string name="pref_ui_cat">UI</string>
|
||||
<string name="pref_misc_cat">Misc</string>
|
||||
|
@ -104,8 +104,11 @@ public class IITC_Mobile extends Activity {
|
||||
// no reload needed
|
||||
return;
|
||||
}
|
||||
// no reload needed
|
||||
if (key.equals("pref_press_twice_to_exit") || key.equals("pref_share_selected_tab"))
|
||||
|
||||
if (key.equals("pref_press_twice_to_exit")
|
||||
|| key.equals("pref_share_selected_tab")
|
||||
|| key.equals("pref_drawers_seen"))
|
||||
// no reload needed
|
||||
return;
|
||||
|
||||
mReloadNeeded = true;
|
||||
@ -411,6 +414,19 @@ public class IITC_Mobile extends Activity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
if (mNavigationHelper != null) {
|
||||
boolean visible = !mNavigationHelper.isDrawerOpened();
|
||||
|
||||
for (int i = 0; i < menu.size(); i++)
|
||||
if (menu.getItem(i).getItemId() != R.id.action_settings)
|
||||
menu.getItem(i).setVisible(visible);
|
||||
}
|
||||
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (mNavigationHelper.onOptionsItemSelected(item))
|
||||
|
@ -1,11 +1,16 @@
|
||||
package com.cradle.iitc_mobile;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.DialogInterface.OnDismissListener;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.ActionBarDrawerToggle;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.text.Html;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
@ -124,6 +129,38 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt
|
||||
mDrawerLayout.setDrawerListener(this);
|
||||
|
||||
onPrefChanged(); // also calls updateActionBar()
|
||||
|
||||
showNotice();
|
||||
}
|
||||
|
||||
private void showNotice() {
|
||||
if (mPrefs.getBoolean("pref_drawers_seen", false))
|
||||
return;
|
||||
|
||||
TextView message = new TextView(mIitc);
|
||||
message.setPadding(20, 20, 20, 20);
|
||||
message.setText(Html.fromHtml(mIitc.getText(R.string.notice_drawers).toString()));
|
||||
|
||||
AlertDialog dialog = new AlertDialog.Builder(mIitc)
|
||||
.setView(message)
|
||||
.setCancelable(true)
|
||||
.setPositiveButton(android.R.string.ok, new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.cancel();
|
||||
}
|
||||
})
|
||||
.create();
|
||||
dialog.setOnDismissListener(new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
mPrefs
|
||||
.edit()
|
||||
.putBoolean("pref_drawers_seen", true)
|
||||
.commit();
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
private void updateActionBar() {
|
||||
@ -135,7 +172,8 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt
|
||||
mActionBar.setDisplayHomeAsUpEnabled(false); // Hide "up" indicator
|
||||
mActionBar.setHomeButtonEnabled(false); // Make icon unclickable
|
||||
mActionBar.setTitle(mIitc.getString(R.string.app_name));
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, mDrawerLeft);
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, mDrawerRight);
|
||||
setDrawerIndicatorEnabled(false);
|
||||
} else {
|
||||
if (mIsLoading) {
|
||||
@ -148,13 +186,16 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt
|
||||
mActionBar.setHomeButtonEnabled(true);// Make icon clickable
|
||||
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
|
||||
if (mPane != Pane.MAP)
|
||||
setDrawerIndicatorEnabled(false);
|
||||
else
|
||||
if (mPane == Pane.MAP || mDrawerLayout.isDrawerOpen(mDrawerLeft))
|
||||
setDrawerIndicatorEnabled(true);
|
||||
else
|
||||
setDrawerIndicatorEnabled(false);
|
||||
}
|
||||
|
||||
mActionBar.setTitle(getPaneTitle(mPane));
|
||||
if (mDrawerLayout.isDrawerOpen(mDrawerLeft))
|
||||
mActionBar.setTitle(mIitc.getString(R.string.app_name));
|
||||
else
|
||||
mActionBar.setTitle(getPaneTitle(mPane));
|
||||
}
|
||||
|
||||
if (mFullscreen && mHideInFullscreen)
|
||||
@ -197,15 +238,15 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnIt
|
||||
|
||||
@Override
|
||||
public void onDrawerClosed(View drawerView) {
|
||||
// TODO change menu? (via invalidateOptionsMenu)
|
||||
super.onDrawerClosed(drawerView);
|
||||
mIitc.invalidateOptionsMenu();
|
||||
updateActionBar();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerOpened(View drawerView) {
|
||||
// TODO change menu? (via invalidateOptionsMenu)
|
||||
super.onDrawerOpened(drawerView);
|
||||
mIitc.invalidateOptionsMenu();
|
||||
updateActionBar();
|
||||
mDrawerLayout.closeDrawer(drawerView.equals(mDrawerLeft) ? mDrawerRight : mDrawerLeft);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user