Merge "Fix a bug where options menu was not showing." into oc-dev

am: 4f2f6bcad9

Change-Id: I9bfa738b7d7010955ea26b162573bdb68dbbcef5
This commit is contained in:
Daniel Nishi
2017-04-17 22:39:31 +00:00
committed by android-build-merger
3 changed files with 28 additions and 6 deletions

View File

@@ -440,6 +440,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
if (mHelpUri != null && getActivity() != null) {
HelpUtils.prepareHelpMenuItem(getActivity(), menu, mHelpUri, getClass().getName());
}

View File

@@ -16,6 +16,7 @@
package com.android.settings.deviceinfo;
import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
import android.content.Intent;
@@ -78,16 +79,15 @@ public class StorageDashboardFragment extends DashboardFragment
super.onCreate(icicle);
// Initialize the storage sizes that we can quickly calc.
final Context context = getActivity();
StorageManager sm = context.getSystemService(StorageManager.class);
final Activity activity = getActivity();
StorageManager sm = activity.getSystemService(StorageManager.class);
mVolume = Utils.maybeInitializeVolume(sm, getArguments());
if (mVolume == null) {
getActivity().finish();
activity.finish();
return;
}
mOptionMenuController = new PrivateVolumeOptionMenuController(
context, mVolume, new PackageManagerWrapperImpl(context.getPackageManager()));
initializeOptionsMenu(activity);
final long sharedDataSize = mVolume.getPath().getTotalSpace();
long totalSize = sm.getPrimaryStorageSize();
@@ -114,6 +114,15 @@ public class StorageDashboardFragment extends DashboardFragment
}
}
@VisibleForTesting
void initializeOptionsMenu(Activity activity) {
mOptionMenuController = new PrivateVolumeOptionMenuController(
activity, mVolume, new PackageManagerWrapperImpl(activity.getPackageManager()));
getLifecycle().addObserver(mOptionMenuController);
setHasOptionsMenu(true);
activity.invalidateOptionsMenu();
}
@Override
public void onResume() {
super.onResume();
@@ -156,7 +165,6 @@ public class StorageDashboardFragment extends DashboardFragment
new AutomaticStorageManagementSwitchPreferenceController(
context, mMetricsFeatureProvider, getFragmentManager());
getLifecycle().addObserver(asmController);
getLifecycle().addObserver(mOptionMenuController);
controllers.add(asmController);
return controllers;
}

View File

@@ -18,6 +18,10 @@ package com.android.settings.deviceinfo;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import android.app.Activity;
import android.os.storage.StorageManager;
import android.provider.SearchIndexableResource;
@@ -55,6 +59,15 @@ public class StorageDashboardFragmentTest {
assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_STORAGE);
}
@Test
public void test_initializeOptionsMenuInvalidatesExistingMenu() {
Activity activity = mock(Activity.class);
mFragment.initializeOptionsMenu(activity);
verify(activity).invalidateOptionsMenu();
}
@Test
public void testSearchIndexProvider_shouldIndexResource() {
final List<SearchIndexableResource> indexRes =