Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java |
index 45dfbdd36cad06b297fe57a3152004cd0cda6169..c628eab00b2363a8b39151149d4d502af0458a79 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java |
@@ -23,6 +23,8 @@ import android.widget.TextView; |
import org.chromium.base.Log; |
import org.chromium.base.VisibleForTesting; |
+import org.chromium.base.metrics.RecordHistogram; |
+import org.chromium.base.metrics.RecordUserAction; |
import org.chromium.chrome.R; |
import org.chromium.chrome.browser.init.BrowserParts; |
import org.chromium.chrome.browser.init.ChromeBrowserInitializer; |
@@ -41,12 +43,17 @@ import java.util.Set; |
* The browser process must be started here because this Activity may be started explicitly from |
* Android settings, when Android is restoring ManageSpaceActivity after Chrome was killed, or for |
* tests. |
- * TODO(dmurph): Add UMA metrics. |
*/ |
@TargetApi(Build.VERSION_CODES.KITKAT) |
public class ManageSpaceActivity extends AppCompatActivity implements View.OnClickListener { |
private static final String TAG = "ManageSpaceActivity"; |
+ // Do not change these constants, they are used with UMA histograms. |
Mark P
2016/06/29 20:20:32
(except for the MAX entry)
dmurph
2016/06/29 21:56:06
Done.
|
+ private static final int CLEAR_UNIMPORTANT_OPTION = 0; |
+ private static final int MANAGE_STORAGE_OPTION = 1; |
+ private static final int CLEAR_APP_DATA_OPTION = 2; |
Mark P
2016/06/29 20:20:32
optional nit: consider starting all the options wi
dmurph
2016/06/29 21:56:06
Done.
|
+ private static final int OPTION_BOUNDARY = 3; |
Mark P
2016/06/29 20:20:32
please use MAX OR NUM_ENTRIES or something; BOUNDA
dmurph
2016/06/29 21:56:06
Done.
|
+ |
private TextView mUnimportantSiteDataSizeText; |
private TextView mSiteDataSizeText; |
private Button mClearUnimportantButton; |
@@ -121,6 +128,7 @@ public class ManageSpaceActivity extends AppCompatActivity implements View.OnCli |
mIsNativeInitialized = true; |
mManageSiteDataButton.setEnabled(true); |
mClearUnimportantButton.setEnabled(true); |
+ RecordUserAction.record("Android.ManageSpace"); |
refreshStorageNumbers(); |
} |
@@ -172,6 +180,9 @@ public class ManageSpaceActivity extends AppCompatActivity implements View.OnCli |
@Override |
public void onClick(DialogInterface dialog, int id) { |
mUnimportantDialog = null; |
+ RecordHistogram.recordEnumeratedHistogram( |
+ "Android.ManageSpace.ActionTaken", CLEAR_UNIMPORTANT_OPTION, |
+ OPTION_BOUNDARY); |
clearUnimportantData(); |
} |
}); |
@@ -190,6 +201,8 @@ public class ManageSpaceActivity extends AppCompatActivity implements View.OnCli |
initialArguments.putString(SingleCategoryPreferences.EXTRA_TITLE, |
getString(R.string.website_settings_storage)); |
intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, initialArguments); |
+ RecordHistogram.recordEnumeratedHistogram( |
+ "Android.ManageSpace.ActionTaken", MANAGE_STORAGE_OPTION, OPTION_BOUNDARY); |
startActivity(intent); |
} else if (view == mClearAllDataButton) { |
final ActivityManager activityManager = |
@@ -198,6 +211,13 @@ public class ManageSpaceActivity extends AppCompatActivity implements View.OnCli |
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { |
@Override |
public void onClick(DialogInterface dialog, int id) { |
+ if (mIsNativeInitialized) { |
+ // This probably won't actually be uploaded, as android will probably kill |
+ // all processes & data before it gets sent to the network. |
+ RecordHistogram.recordEnumeratedHistogram( |
+ "Android.ManageSpace.ActionTaken", CLEAR_APP_DATA_OPTION, |
+ OPTION_BOUNDARY); |
+ } |
activityManager.clearApplicationUserData(); |
} |
}); |