Makes call to MetricsLogger right away when taking bugreports.

Previously the call was made on takeBugreport(), which caused a NPE on
interative report calls because the context was null since it was
handled by a handler.

BUG: 27354167
Change-Id: I19e91cb4b43a7aa0bfcdab440c4cd4225110fdfb
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index 68ee562..3589660 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -87,9 +87,13 @@
 
             if (mFullTitle.isChecked()) {
                 Log.v(TAG, "Taking full bugreport right away");
+                MetricsLogger.action(getDialog().getContext(),
+                        MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
                 takeBugreport(ActivityManager.BUGREPORT_OPTION_FULL);
             } else {
                 Log.v(TAG, "Taking interactive bugreport in " + BUGREPORT_DELAY_SECONDS + "s");
+                MetricsLogger.action(getDialog().getContext(),
+                        MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
                 // Add a little delay before executing, to give the user a chance to close
                 // the Settings activity before it takes a screenshot.
                 final Context context = getContext();
@@ -110,18 +114,6 @@
 
     private void takeBugreport(int bugreportType) {
         try {
-            switch (bugreportType) {
-                case ActivityManager.BUGREPORT_OPTION_FULL:
-                    MetricsLogger.action(getDialog().getContext(),
-                            MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
-                    break;
-                case ActivityManager.BUGREPORT_OPTION_INTERACTIVE:
-                    MetricsLogger.action(getDialog().getContext(),
-                            MetricsEvent.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
-                    break;
-                default:
-                    Log.w(TAG, "Unknown bugreportType: " + bugreportType);
-            }
             ActivityManagerNative.getDefault().requestBugReport(bugreportType);
         } catch (RemoteException e) {
             Log.e(TAG, "error taking bugreport (bugreportType=" + bugreportType + ")", e);