Add metric events triggers for new storage actions.
Bug: 35063738 Test: Settings Robotests Change-Id: I435cb16c492d3777e735266c2d3a2b1930443acb
This commit is contained in:
@@ -443,8 +443,12 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
||||
case LIST_TYPE_NOTIFICATION:
|
||||
return MetricsEvent.MANAGE_APPLICATIONS_NOTIFICATIONS;
|
||||
case LIST_TYPE_STORAGE:
|
||||
case LIST_TYPE_GAMES:
|
||||
if (mStorageType == STORAGE_TYPE_MUSIC) {
|
||||
return MetricsEvent.APPLICATIONS_STORAGE_MUSIC;
|
||||
}
|
||||
return MetricsEvent.APPLICATIONS_STORAGE_APPS;
|
||||
case LIST_TYPE_GAMES:
|
||||
return MetricsEvent.APPLICATIONS_STORAGE_GAMES;
|
||||
case LIST_TYPE_USAGE_ACCESS:
|
||||
return MetricsEvent.USAGE_ACCESS;
|
||||
case LIST_TYPE_HIGH_POWER:
|
||||
|
@@ -26,12 +26,12 @@ import android.os.Bundle;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.os.storage.VolumeInfo;
|
||||
import android.provider.DocumentsContract;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.Utils;
|
||||
@@ -39,6 +39,7 @@ import com.android.settings.applications.ManageApplications;
|
||||
import com.android.settings.applications.PackageManagerWrapperImpl;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.deviceinfo.StorageMeasurement;
|
||||
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
|
||||
@@ -129,6 +130,8 @@ public class StorageItemPreferenceController extends PreferenceController
|
||||
break;
|
||||
case FILES_KEY:
|
||||
intent = getFilesIntent();
|
||||
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(
|
||||
mContext, MetricsEvent.STORAGE_FILES);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -34,7 +34,9 @@ import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.DonutView;
|
||||
|
||||
import java.util.Locale;
|
||||
@@ -100,6 +102,9 @@ public class StorageSummaryDonutPreference extends Preference implements View.On
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v != null && R.id.deletion_helper_button == v.getId()) {
|
||||
Context context = getContext();
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(
|
||||
context, MetricsEvent.STORAGE_FREE_UP_SPACE_NOW);
|
||||
Intent intent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
|
||||
getContext().startActivity(intent);
|
||||
}
|
||||
|
@@ -18,7 +18,10 @@ package com.android.settings.deviceinfo.storage;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -27,19 +30,20 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserHandle;
|
||||
import android.os.storage.VolumeInfo;
|
||||
import android.provider.DocumentsContract;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.applications.ManageApplications;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -48,7 +52,6 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.Answers;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -61,7 +64,6 @@ public class StorageItemPreferenceControllerTest {
|
||||
* kilobyte.
|
||||
*/
|
||||
private static long KILOBYTE = 1024L;
|
||||
|
||||
private Context mContext;
|
||||
private VolumeInfo mVolume;
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
@@ -70,12 +72,17 @@ public class StorageItemPreferenceControllerTest {
|
||||
private StorageVolumeProvider mSvp;
|
||||
private StorageItemPreferenceController mController;
|
||||
private StorageItemPreferenceAlternate mPreference;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
||||
FakeFeatureFactory.setupForTest(mContext);
|
||||
mFakeFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
|
||||
mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
|
||||
mVolume = new VolumeInfo("id", 0, null, "id");
|
||||
mContext = RuntimeEnvironment.application;
|
||||
// Note: null is passed as the Lifecycle because we are handling it outside of the normal
|
||||
// Settings fragment lifecycle for test purposes.
|
||||
mController = new StorageItemPreferenceController(mContext, mFragment, mVolume, mSvp);
|
||||
@@ -158,6 +165,8 @@ public class StorageItemPreferenceControllerTest {
|
||||
Intent browseIntent = mVolume.buildBrowseIntent();
|
||||
assertThat(intent.getAction()).isEqualTo(browseIntent.getAction());
|
||||
assertThat(intent.getData()).isEqualTo(browseIntent.getData());
|
||||
verify(mMetricsFeatureProvider, times(1)).action(
|
||||
any(Context.class), eq(MetricsEvent.STORAGE_FILES));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -188,17 +197,17 @@ public class StorageItemPreferenceControllerTest {
|
||||
StorageItemPreferenceAlternate files = new StorageItemPreferenceAlternate(mContext);
|
||||
PreferenceScreen screen = mock(PreferenceScreen.class);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.AUDIO_KEY))).thenReturn(audio);
|
||||
eq(StorageItemPreferenceController.AUDIO_KEY))).thenReturn(audio);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
|
||||
eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
|
||||
eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
|
||||
eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.SYSTEM_KEY))).thenReturn(system);
|
||||
eq(StorageItemPreferenceController.SYSTEM_KEY))).thenReturn(system);
|
||||
when(screen.findPreference(
|
||||
Mockito.eq(StorageItemPreferenceController.FILES_KEY))).thenReturn(files);
|
||||
eq(StorageItemPreferenceController.FILES_KEY))).thenReturn(files);
|
||||
mController.displayPreference(screen);
|
||||
|
||||
mController.setSystemSize(KILOBYTE * 6);
|
||||
|
@@ -18,6 +18,11 @@ package com.android.settings.deviceinfo.storage;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -26,12 +31,16 @@ import android.provider.Settings;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settingslib.deviceinfo.StorageVolumeProvider;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -50,10 +59,15 @@ public class StorageSummaryDonutPreferenceControllerTest {
|
||||
private StorageSummaryDonutPreferenceController mController;
|
||||
private StorageSummaryDonutPreference mPreference;
|
||||
private PreferenceViewHolder mHolder;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContext = spy(RuntimeEnvironment.application.getApplicationContext());
|
||||
FakeFeatureFactory.setupForTest(mContext);
|
||||
mFakeFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
|
||||
mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
|
||||
mController = new StorageSummaryDonutPreferenceController(mContext);
|
||||
mPreference = new StorageSummaryDonutPreference(mContext);
|
||||
|
||||
@@ -106,6 +120,17 @@ public class StorageSummaryDonutPreferenceControllerTest {
|
||||
assertThat(asmTextView.getText().toString()).isEqualTo("Storage Manager: OFF");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFreeUpSpaceMetricIsTriggered() throws Exception {
|
||||
mPreference.onBindViewHolder(mHolder);
|
||||
Button button = (Button) mHolder.findViewById(R.id.deletion_helper_button);
|
||||
|
||||
mPreference.onClick(button);
|
||||
|
||||
verify(mMetricsFeatureProvider, times(1)).action(
|
||||
any(Context.class), eq(MetricsEvent.STORAGE_FREE_UP_SPACE_NOW));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAutomaticStorageManagerLabelOn() throws Exception {
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
|
Reference in New Issue
Block a user