Loading res/xml/app_ops_permissions_details.xml +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <SwitchPreference <com.android.settings.widget.FilterTouchesSwitchPreference android:key="app_ops_settings_switch" /> <Preference Loading src/com/android/settings/datausage/UnrestrictedDataAccess.java +3 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.datausage; import android.app.Application; import android.content.Context; import android.os.Bundle; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceViewHolder; import android.view.Menu; Loading @@ -34,6 +33,7 @@ import com.android.settings.applications.AppInfoBase; import com.android.settings.applications.AppStateBaseBridge; import com.android.settings.applications.InstalledAppDetails; import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState; import com.android.settings.widget.FilterTouchesSwitchPreference; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppFilter; Loading Loading @@ -224,7 +224,8 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment return false; } private class AccessPreference extends SwitchPreference implements DataSaverBackend.Listener { private class AccessPreference extends FilterTouchesSwitchPreference implements DataSaverBackend.Listener { private final AppEntry mEntry; private final DataUsageState mState; Loading src/com/android/settings/notification/ZenAccessSettings.java +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.provider.Settings.Secure; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.PreferenceScreen; Loading @@ -46,6 +45,7 @@ import android.widget.Toast; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.widget.FilterTouchesSwitchPreference; import java.util.ArrayList; import java.util.Collections; Loading Loading @@ -120,7 +120,8 @@ public class ZenAccessSettings extends EmptyTextSettings { for (ApplicationInfo app : apps) { final String pkg = app.packageName; final CharSequence label = app.loadLabel(mPkgMan); final SwitchPreference pref = new SwitchPreference(getPrefContext()); final FilterTouchesSwitchPreference pref = new FilterTouchesSwitchPreference( getPrefContext()); pref.setPersistent(false); pref.setIcon(app.loadIcon(mPkgMan)); pref.setTitle(label); Loading src/com/android/settings/utils/ManagedServiceSettings.java +3 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.PreferenceScreen; Loading @@ -35,6 +34,7 @@ import android.view.View; import android.widget.TextView; import com.android.settings.R; import com.android.settings.notification.EmptyTextSettings; import com.android.settings.widget.FilterTouchesSwitchPreference; import java.util.Collections; import java.util.List; Loading Loading @@ -95,7 +95,8 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings { for (ServiceInfo service : services) { final ComponentName cn = new ComponentName(service.packageName, service.name); final String title = service.loadLabel(mPM).toString(); final SwitchPreference pref = new SwitchPreference(getPrefContext()); final FilterTouchesSwitchPreference pref = new FilterTouchesSwitchPreference( getPrefContext()); pref.setPersistent(false); pref.setIcon(service.loadIcon(mPM)); pref.setTitle(title); Loading src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * 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.widget; import android.content.Context; import android.support.v7.preference.PreferenceViewHolder; import android.util.AttributeSet; import android.view.View; import com.android.settingslib.RestrictedSwitchPreference; /** * This widget with enabled filterTouchesWhenObscured attribute use to replace * the {@link RestrictedSwitchPreference} in the Special access app pages for * security. */ public class FilterTouchesRestrictedSwitchPreference extends RestrictedSwitchPreference { public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs) { super(context, attrs); } public FilterTouchesRestrictedSwitchPreference(Context context) { super(context); } @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); final View switchView = holder.findViewById(android.R.id.switch_widget); if (switchView != null) { final View rootView = switchView.getRootView(); rootView.setFilterTouchesWhenObscured(true); } } } Loading
res/xml/app_ops_permissions_details.xml +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <SwitchPreference <com.android.settings.widget.FilterTouchesSwitchPreference android:key="app_ops_settings_switch" /> <Preference Loading
src/com/android/settings/datausage/UnrestrictedDataAccess.java +3 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.datausage; import android.app.Application; import android.content.Context; import android.os.Bundle; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceViewHolder; import android.view.Menu; Loading @@ -34,6 +33,7 @@ import com.android.settings.applications.AppInfoBase; import com.android.settings.applications.AppStateBaseBridge; import com.android.settings.applications.InstalledAppDetails; import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState; import com.android.settings.widget.FilterTouchesSwitchPreference; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; import com.android.settingslib.applications.ApplicationsState.AppFilter; Loading Loading @@ -224,7 +224,8 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment return false; } private class AccessPreference extends SwitchPreference implements DataSaverBackend.Listener { private class AccessPreference extends FilterTouchesSwitchPreference implements DataSaverBackend.Listener { private final AppEntry mEntry; private final DataUsageState mState; Loading
src/com/android/settings/notification/ZenAccessSettings.java +3 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,6 @@ import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.provider.Settings.Secure; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.PreferenceScreen; Loading @@ -46,6 +45,7 @@ import android.widget.Toast; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.widget.FilterTouchesSwitchPreference; import java.util.ArrayList; import java.util.Collections; Loading Loading @@ -120,7 +120,8 @@ public class ZenAccessSettings extends EmptyTextSettings { for (ApplicationInfo app : apps) { final String pkg = app.packageName; final CharSequence label = app.loadLabel(mPkgMan); final SwitchPreference pref = new SwitchPreference(getPrefContext()); final FilterTouchesSwitchPreference pref = new FilterTouchesSwitchPreference( getPrefContext()); pref.setPersistent(false); pref.setIcon(app.loadIcon(mPkgMan)); pref.setTitle(label); Loading
src/com/android/settings/utils/ManagedServiceSettings.java +3 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.PreferenceScreen; Loading @@ -35,6 +34,7 @@ import android.view.View; import android.widget.TextView; import com.android.settings.R; import com.android.settings.notification.EmptyTextSettings; import com.android.settings.widget.FilterTouchesSwitchPreference; import java.util.Collections; import java.util.List; Loading Loading @@ -95,7 +95,8 @@ public abstract class ManagedServiceSettings extends EmptyTextSettings { for (ServiceInfo service : services) { final ComponentName cn = new ComponentName(service.packageName, service.name); final String title = service.loadLabel(mPM).toString(); final SwitchPreference pref = new SwitchPreference(getPrefContext()); final FilterTouchesSwitchPreference pref = new FilterTouchesSwitchPreference( getPrefContext()); pref.setPersistent(false); pref.setIcon(service.loadIcon(mPM)); pref.setTitle(title); Loading
src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * 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.widget; import android.content.Context; import android.support.v7.preference.PreferenceViewHolder; import android.util.AttributeSet; import android.view.View; import com.android.settingslib.RestrictedSwitchPreference; /** * This widget with enabled filterTouchesWhenObscured attribute use to replace * the {@link RestrictedSwitchPreference} in the Special access app pages for * security. */ public class FilterTouchesRestrictedSwitchPreference extends RestrictedSwitchPreference { public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public FilterTouchesRestrictedSwitchPreference(Context context, AttributeSet attrs) { super(context, attrs); } public FilterTouchesRestrictedSwitchPreference(Context context) { super(context); } @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); final View switchView = holder.findViewById(android.R.id.switch_widget); if (switchView != null) { final View rootView = switchView.getRootView(); rootView.setFilterTouchesWhenObscured(true); } } }