Loading src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProvider.java +6 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,12 @@ public interface ExtraAppInfoFeatureProvider { void setPackageName(String packageName); /** * gets the summary name * Checks if enabled */ boolean isEnabled(Context context); /** * Gets the summary name */ String getSummary(Context context); } src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProviderImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,11 @@ public class ExtraAppInfoFeatureProviderImpl implements return; } @Override public boolean isEnabled(Context context) { return false; } @Override public String getSummary(Context context) { return ""; Loading src/com/android/settings/applications/appinfo/ExtraAppInfoPreferenceController.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.text.TextUtils; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; Loading Loading @@ -55,6 +56,16 @@ public class ExtraAppInfoPreferenceController extends BasePreferenceController { return mExtraAppInfoFeatureProvider.getSummary(mContext); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); if (mExtraAppInfoFeatureProvider != null) { final Preference preference = screen.findPreference(getPreferenceKey()); preference.setEnabled(mExtraAppInfoFeatureProvider.isEnabled(preference.getContext())); } } /** * Set the local package name */ Loading tests/robotests/src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProviderImplTest.java 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 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.applications.appinfo; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class ExtraAppInfoFeatureProviderImplTest { private Context mContext; private ExtraAppInfoFeatureProviderImpl mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new ExtraAppInfoFeatureProviderImpl(); } @Test public void isSupported_notSupportedByDefault() { assertThat(mController.isSupported(mContext)).isEqualTo(false); } @Test public void isEnabled_notEnabledByDefault() { assertThat(mController.isEnabled(mContext)).isEqualTo(false); } @Test public void getSummary_emptyByDefault() { assertThat(mController.getSummary(mContext)).isEqualTo(""); } } Loading
src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProvider.java +6 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,12 @@ public interface ExtraAppInfoFeatureProvider { void setPackageName(String packageName); /** * gets the summary name * Checks if enabled */ boolean isEnabled(Context context); /** * Gets the summary name */ String getSummary(Context context); }
src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProviderImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,11 @@ public class ExtraAppInfoFeatureProviderImpl implements return; } @Override public boolean isEnabled(Context context) { return false; } @Override public String getSummary(Context context) { return ""; Loading
src/com/android/settings/applications/appinfo/ExtraAppInfoPreferenceController.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.text.TextUtils; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; Loading Loading @@ -55,6 +56,16 @@ public class ExtraAppInfoPreferenceController extends BasePreferenceController { return mExtraAppInfoFeatureProvider.getSummary(mContext); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); if (mExtraAppInfoFeatureProvider != null) { final Preference preference = screen.findPreference(getPreferenceKey()); preference.setEnabled(mExtraAppInfoFeatureProvider.isEnabled(preference.getContext())); } } /** * Set the local package name */ Loading
tests/robotests/src/com/android/settings/applications/appinfo/ExtraAppInfoFeatureProviderImplTest.java 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * Copyright (C) 2021 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.applications.appinfo; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class ExtraAppInfoFeatureProviderImplTest { private Context mContext; private ExtraAppInfoFeatureProviderImpl mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new ExtraAppInfoFeatureProviderImpl(); } @Test public void isSupported_notSupportedByDefault() { assertThat(mController.isSupported(mContext)).isEqualTo(false); } @Test public void isEnabled_notEnabledByDefault() { assertThat(mController.isEnabled(mContext)).isEqualTo(false); } @Test public void getSummary_emptyByDefault() { assertThat(mController.getSummary(mContext)).isEqualTo(""); } }