1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2025-12-15 00:31:11 +01:00

Optionally allow exit button in nav drawer

This commit is contained in:
Gregor Santner 2016-08-07 02:28:37 +02:00
parent e1b02c42d2
commit 78f6c7e6e2
8 changed files with 63 additions and 5 deletions

View file

@ -114,6 +114,7 @@ public class MainActivity extends AppCompatActivity
public static final String ACTION_CHANGE_ACCOUNT = "com.github.dfa.diaspora_android.MainActivity.change_account";
public static final String ACTION_CLEAR_CACHE = "com.github.dfa.diaspora_android.MainActivity.clear_cache";
public static final String ACTION_UPDATE_TITLE_FROM_URL = "com.github.dfa.diaspora_android.MainActivity.set_title";
public static final String ACTION_RELOAD_ACTIVITY = "com.github.dfa.diaspora_android.MainActivity.reload_activity";
public static final String URL_MESSAGE = "URL_MESSAGE";
public static final String EXTRA_URL = "com.github.dfa.diaspora_android.extra_url";
@ -408,6 +409,10 @@ public class MainActivity extends AppCompatActivity
app.getAvatarImageLoader().startImageDownload(navheaderImage, appSettings.getAvatarUrl());
}
}
Menu navMenu = navView.getMenu();
navMenu.findItem(R.id.nav_exit).setVisible(appSettings.isShowExitButtonInNavAlso());
}
@OnClick(R.id.toolbar)
@ -454,6 +459,9 @@ public class MainActivity extends AppCompatActivity
Helpers.animateToActivity(MainActivity.this, PodSelectionActivity.class, true);
} else if (ACTION_CLEAR_CACHE.equals(action)) {
webView.clearCache(true);
} else if (ACTION_RELOAD_ACTIVITY.equals(action)) {
recreate();
return;
} else if (Intent.ACTION_SEND.equals(action) && type != null) {
switch (type) {
case "text/plain":
@ -1062,8 +1070,8 @@ public class MainActivity extends AppCompatActivity
} else {
snackbarNoInternet.show();
}
break;
}
break;
case R.id.nav_public: {
if (Helpers.isOnline(MainActivity.this)) {
@ -1071,8 +1079,15 @@ public class MainActivity extends AppCompatActivity
} else {
snackbarNoInternet.show();
}
break;
}
case R.id.nav_exit: {
moveTaskToBack(true);
finish();
break;
}
break;
case R.id.nav_settings_app: {
startActivity(new Intent(this, SettingsActivity.class));

View file

@ -38,6 +38,7 @@ import com.github.dfa.diaspora_android.R;
public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
private SharedPreferences sharedPreferences;
private boolean activityRestartRequired = false;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -124,6 +125,12 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
intent.setAction(MainActivity.ACTION_CLEAR_CACHE);
break;
}
case R.string.pref_title__show_exit_button_in_nav_also:
case R.string.pref_title__intellihide_toolbars: {
activityRestartRequired = true;
return true;
}
default: {
intent = null;
break;
@ -136,4 +143,14 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
}
return super.onPreferenceTreeClick(screen, preference);
}
@Override
protected void onStop() {
super.onStop();
if (activityRestartRequired){
Intent intent = new Intent(this, MainActivity.class);
intent.setAction(MainActivity.ACTION_RELOAD_ACTIVITY);
startActivity(intent);
}
}
}

View file

@ -234,4 +234,8 @@ public class AppSettings {
public boolean isIntellihideToolbars() {
return getBoolean(prefApp, R.string.pref_key__intellihide_toolbars, true);
}
public boolean isShowExitButtonInNavAlso(){
return getBoolean(prefApp, R.string.pref_key__show_exit_button_in_nav_also, false);
}
}