OSDN Git Service

Add Tron Logging to portion of A11y SUW that lives in Settings.
authorAnna Galusza <agalusza@google.com>
Tue, 22 Mar 2016 20:07:44 +0000 (13:07 -0700)
committerAnna Galusza <agalusza@google.com>
Fri, 1 Apr 2016 21:34:17 +0000 (14:34 -0700)
Bug: 27777706

Change-Id: I0c0f0f1c30ba5b1d40bc4e74faadacbdb93dbc51

proguard.flags
res/xml/accessibility_settings_for_setup_wizard.xml
src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java [new file with mode: 0644]
src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java [new file with mode: 0644]
src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java [new file with mode: 0644]
src/com/android/settings/display/ScreenZoomPreference.java
src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java [new file with mode: 0644]

index 2b5d4fa..3c3300e 100644 (file)
@@ -17,6 +17,8 @@
 -keep class com.android.settings.users.*
 -keep class com.android.settings.nfc.*
 -keep class com.android.settings.notification.*
+-keep class com.android.settings.accessibility.*FragmentForSetupWizard
+-keep class com.android.settings.display.*FragmentForSetupWizard
 
 # Keep click responders
 -keepclassmembers class com.android.settings.inputmethod.UserDictionaryAddWordActivity {
@@ -25,4 +27,4 @@
 
 -keep public class * extends com.android.setupwizardlib.items.ItemHierarchy {
     public <init>(android.content.Context, android.util.AttributeSet);
-}
\ No newline at end of file
+}
index 5d83590..c938f24 100644 (file)
 
     <Preference
         android:fragment=
-                "com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
+                "com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard"
         android:key="screen_magnification_preference"
         android:title="@string/accessibility_screen_magnification_title"
         android:summary="@string/accessibility_screen_magnification_short_summary" />
 
     <Preference
-        android:fragment="com.android.settings.accessibility.ToggleFontSizePreferenceFragment"
+        android:fragment=
+                "com.android.settings.accessibility.FontSizePreferenceFragmentForSetupWizard"
         android:key="font_size_preference"
         android:title="@string/title_font_size"
         android:summary="@string/short_summary_font_size" />
 
     <com.android.settings.display.ScreenZoomPreference
+        android:fragment="com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard"
         android:key="force_density_preference"
         android:title="@string/screen_zoom_title"
         android:summary="@string/screen_zoom_short_summary" />
 
     <Preference
         android:fragment=
-                "com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment"
+                "com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard"
         android:key="screen_reader_preference"
         android:summary="@string/talkback_summary"
         android:persistent="true" />
index 12e58c4..f21e467 100644 (file)
@@ -27,7 +27,7 @@ import android.support.v7.preference.Preference;
 import android.text.TextUtils;
 import android.view.accessibility.AccessibilityManager;
 
-import com.android.internal.logging.MetricsProto;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.settings.DialogCreatable;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -54,7 +54,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
 
     @Override
     protected int getMetricsCategory() {
-        return MetricsProto.MetricsEvent.ACCESSIBILITY;
+        return MetricsEvent.SUW_ACCESSIBILITY;
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/FontSizePreferenceFragmentForSetupWizard.java
new file mode 100644 (file)
index 0000000..6e90677
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class FontSizePreferenceFragmentForSetupWizard
+        extends ToggleFontSizePreferenceFragment {
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mCurrentIndex != mInitialIndex) {
+            MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_FONT_SIZE,
+                    mCurrentIndex);
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
new file mode 100644 (file)
index 0000000..135a78f
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.os.Bundle;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
+        extends ToggleScreenMagnificationPreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    protected void onProcessArguments(Bundle arguments) {
+        super.onProcessArguments(arguments);
+        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            MetricsLogger.action(getContext(),
+                    MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION,
+                    mToggleSwitch.isChecked());
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
new file mode 100644 (file)
index 0000000..05e48d3
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.os.Bundle;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ToggleScreenReaderPreferenceFragmentForSetupWizard
+        extends ToggleAccessibilityServicePreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    protected void onProcessArguments(Bundle arguments) {
+        super.onProcessArguments(arguments);
+        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            MetricsLogger.action(getContext(),
+                    MetricsEvent.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER, mToggleSwitch.isChecked());
+        }
+
+        super.onStop();
+    }
+}
+
index 2afc3c3..ee2ac95 100644 (file)
@@ -34,7 +34,9 @@ public class ScreenZoomPreference extends PreferenceGroup {
                 android.support.v7.preference.R.attr.preferenceScreenStyle,
                 android.R.attr.preferenceScreenStyle));
 
-        setFragment("com.android.settings.display.ScreenZoomSettings");
+        if (TextUtils.isEmpty(getFragment())) {
+            setFragment("com.android.settings.display.ScreenZoomSettings");
+        }
 
         final DisplayDensityUtils density = new DisplayDensityUtils(context);
         final int defaultIndex = density.getCurrentIndex();
diff --git a/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java b/src/com/android/settings/display/ScreenZoomPreferenceFragmentForSetupWizard.java
new file mode 100644 (file)
index 0000000..8892f4d
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.display;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+
+public class ScreenZoomPreferenceFragmentForSetupWizard
+        extends ScreenZoomSettings {
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mCurrentIndex != mInitialIndex) {
+            MetricsLogger.action(getContext(), MetricsEvent.SUW_ACCESSIBILITY_DISPLAY_SIZE,
+                    mCurrentIndex);
+        }
+
+        super.onStop();
+    }
+}
+