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..3636ac56510a20a50ec1fa5551c8fda4b70d10e1 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 except for the MAX entry, they are used with UMA histograms. |
+ private static final int OPTION_CLEAR_UNIMPORTANT = 0; |
+ private static final int OPTION_MANAGE_STORAGE = 1; |
+ private static final int OPTION_CLEAR_APP_DATA = 2; |
+ private static final int OPTION_MAX = 3; |
+ |
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,8 @@ public class ManageSpaceActivity extends AppCompatActivity implements View.OnCli |
@Override |
public void onClick(DialogInterface dialog, int id) { |
mUnimportantDialog = null; |
+ RecordHistogram.recordEnumeratedHistogram("Android.ManageSpace.ActionTaken", |
+ OPTION_CLEAR_UNIMPORTANT, OPTION_MAX); |
clearUnimportantData(); |
} |
}); |
@@ -190,6 +200,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", OPTION_MANAGE_STORAGE, OPTION_MAX); |
startActivity(intent); |
} else if (view == mClearAllDataButton) { |
final ActivityManager activityManager = |
@@ -198,6 +210,12 @@ 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", |
+ OPTION_CLEAR_APP_DATA, OPTION_MAX); |
+ } |
activityManager.clearApplicationUserData(); |
} |
}); |