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:
parent
e1b02c42d2
commit
78f6c7e6e2
8 changed files with 63 additions and 5 deletions
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue