diff options
5 files changed, 55 insertions, 0 deletions
diff --git a/src/com/android/settings/accessibility/AccessibilityStatsLogUtils.java b/src/com/android/settings/accessibility/AccessibilityStatsLogUtils.java new file mode 100644 index 0000000000..da889e980b --- /dev/null +++ b/src/com/android/settings/accessibility/AccessibilityStatsLogUtils.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020 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.content.ComponentName; + +import com.android.settings.core.instrumentation.SettingsStatsLog; + +/** Methods for logging accessibility states. */ +public final class AccessibilityStatsLogUtils { + + private AccessibilityStatsLogUtils() {} + + /** + * Logs accessibility service name and its enabled status. Calls this when the user trigger + * the accessibility service to be enabled/disabled. + * + * @param packageName the package name of the service. Need to be the flattened {@link + * ComponentName} + * @param enabled {@code true} if the service is enabled + */ + static void logServiceStatus(String packageName, boolean enabled) { + SettingsStatsLog.write(SettingsStatsLog.ACCESSIBILITY_SERVICE_REPORTED, packageName, + convertToLoggingServiceStatus(enabled)); + } + + private static int convertToLoggingServiceStatus(boolean enabled) { + return enabled ? SettingsStatsLog.ACCESSIBILITY_SERVICE_REPORTED__SERVICE_STATUS__ENABLED + : SettingsStatsLog.ACCESSIBILITY_SERVICE_REPORTED__SERVICE_STATUS__DISABLED; + } +} diff --git a/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java index 169a952132..40955cf5d0 100644 --- a/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java +++ b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java @@ -16,6 +16,8 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logServiceStatus; + import android.accessibilityservice.AccessibilityShortcutInfo; import android.app.ActivityOptions; import android.content.ActivityNotFoundException; @@ -55,6 +57,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends @Override protected void onPreferenceToggled(String preferenceKey, boolean enabled) { + logServiceStatus(mComponentName.flattenToString(), enabled); launchShortcutTargetActivity(getPrefContext().getDisplayId(), mComponentName); } diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index 86181e9fe3..d62ef29870 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -16,6 +16,8 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logServiceStatus; + import android.accessibilityservice.AccessibilityServiceInfo; import android.app.Activity; import android.app.Dialog; @@ -99,6 +101,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends @Override public void onPreferenceToggled(String preferenceKey, boolean enabled) { ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey); + logServiceStatus(toggledService.flattenToString(), enabled); AccessibilityUtils.setAccessibilityServiceState(getPrefContext(), toggledService, enabled); } diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java index 5cde5e602e..c4d7db98bd 100644 --- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java @@ -17,6 +17,7 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME; +import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logServiceStatus; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; @@ -53,6 +54,7 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere @Override protected void onPreferenceToggled(String preferenceKey, boolean enabled) { + logServiceStatus(mComponentName.flattenToString(), enabled); Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? ON : OFF); } diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java index c7212a44b2..6b52c85623 100644 --- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java @@ -17,6 +17,7 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME; +import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logServiceStatus; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; @@ -167,6 +168,7 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe @Override protected void onPreferenceToggled(String preferenceKey, boolean enabled) { + logServiceStatus(mComponentName.flattenToString(), enabled); Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? ON : OFF); } |