Merge \\"Make advanced storage option sticky...\\" into nyc-dev am: 361ccf5eef
am: 92e64a65ee
Change-Id: Ieac67d5e0d8aa3ef3ab97173aec14ded4517cb01
This commit is contained in:
@@ -215,9 +215,12 @@ public abstract class BaseActivity extends Activity
|
||||
includeState(state);
|
||||
|
||||
// Advanced roots are shown by default without menu option if forced by config or intent.
|
||||
state.showAdvanced = Shared.shouldShowDeviceRoot(this, intent);
|
||||
boolean forceAdvanced = Shared.shouldShowDeviceRoot(this, intent);
|
||||
boolean chosenAdvanced = LocalPreferences.getShowDeviceRoot(this, state.action);
|
||||
state.showAdvanced = forceAdvanced || chosenAdvanced;
|
||||
|
||||
// Menu option is shown for whitelisted intents if advanced roots are not shown by default.
|
||||
state.showAdvancedOption = !state.showAdvanced && (
|
||||
state.showAdvancedOption = !forceAdvanced && (
|
||||
Shared.shouldShowFancyFeatures(this)
|
||||
|| state.action == ACTION_OPEN
|
||||
|| state.action == ACTION_CREATE
|
||||
@@ -483,6 +486,7 @@ public abstract class BaseActivity extends Activity
|
||||
Metrics.logUserAction(this,
|
||||
display ? Metrics.USER_ACTION_SHOW_ADVANCED : Metrics.USER_ACTION_HIDE_ADVANCED);
|
||||
|
||||
LocalPreferences.setShowDeviceRoot(this, mState.action, display);
|
||||
mState.showAdvanced = display;
|
||||
RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
|
||||
invalidateOptionsMenu();
|
||||
|
||||
@@ -18,9 +18,6 @@ package com.android.documentsui;
|
||||
|
||||
import static com.android.documentsui.State.MODE_UNKNOWN;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
@@ -28,11 +25,16 @@ import android.content.SharedPreferences;
|
||||
import android.os.UserHandle;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import com.android.documentsui.State.ActionType;
|
||||
import com.android.documentsui.State.ViewMode;
|
||||
import com.android.documentsui.model.RootInfo;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
public class LocalPreferences {
|
||||
private static final String KEY_FILE_SIZE = "fileSize";
|
||||
private static final String INCLUDE_DEVICE_ROOT = "includeDeviceRoot-";
|
||||
private static final String ROOT_VIEW_MODE_PREFIX = "rootViewMode-";
|
||||
|
||||
public static boolean getDisplayFileSize(Context context) {
|
||||
@@ -48,9 +50,17 @@ public class LocalPreferences {
|
||||
getPrefs(context).edit().putBoolean(KEY_FILE_SIZE, display).apply();
|
||||
}
|
||||
|
||||
public static boolean getShowDeviceRoot(Context context, @ActionType int action) {
|
||||
return getPrefs(context).getBoolean(INCLUDE_DEVICE_ROOT + action, false);
|
||||
}
|
||||
|
||||
public static void setShowDeviceRoot(
|
||||
Context context, @ActionType int action, boolean display) {
|
||||
getPrefs(context).edit().putBoolean(INCLUDE_DEVICE_ROOT + action, display).apply();
|
||||
}
|
||||
|
||||
public static void setViewMode(Context context, RootInfo root, @ViewMode int viewMode) {
|
||||
assert(viewMode != MODE_UNKNOWN);
|
||||
|
||||
getPrefs(context).edit().putInt(createKey(root), viewMode).apply();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user