Loading AndroidManifest.xml +9 −10 Original line number Original line Diff line number Diff line Loading @@ -111,13 +111,9 @@ <uses-library android:name="org.apache.http.legacy" /> <uses-library android:name="org.apache.http.legacy" /> <!-- Settings --> <!-- Settings --> <activity android:name="Settings" <activity android:name="SettingsActivity" android:label="@string/settings_label_launcher" android:label="@string/settings_label_launcher" android:launchMode="singleTask"> android:launchMode="singleTask"> <intent-filter android:priority="1"> <action android:name="android.settings.SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> android:value="true" /> </activity> </activity> Loading @@ -126,6 +122,12 @@ android:label="@string/settings_label_launcher" android:label="@string/settings_label_launcher" android:theme="@style/Theme.Settings.Home" android:theme="@style/Theme.Settings.Home" android:launchMode="singleTask"> android:launchMode="singleTask"> <intent-filter android:priority="1"> <action android:name="android.settings.SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> </activity> <activity android:name=".network.telephony.MobileSettingsActivity" <activity android:name=".network.telephony.MobileSettingsActivity" Loading Loading @@ -2974,15 +2976,12 @@ <receiver <receiver android:name=".slices.SliceBroadcastReceiver" android:name=".slices.SliceBroadcastReceiver" android:exported="false"> android:exported="false" /> </receiver> <receiver <receiver android:name=".slices.SliceRelayReceiver" android:name=".slices.SliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true"> android:exported="true" /> </receiver> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send PendingIntent to it--> PendingIntent to it--> Loading src/com/android/settings/SettingsActivity.java +2 −6 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings; package com.android.settings; import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO; import android.app.ActionBar; import android.app.ActionBar; import android.app.ActivityManager; import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; Loading Loading @@ -248,10 +246,8 @@ public class SettingsActivity extends SettingsBaseActivity // Getting Intent properties can only be done after the super.onCreate(...) // Getting Intent properties can only be done after the super.onCreate(...) final String initialFragmentName = intent.getStringExtra(EXTRA_SHOW_FRAGMENT); final String initialFragmentName = intent.getStringExtra(EXTRA_SHOW_FRAGMENT); final ComponentName cn = intent.getComponent(); mIsShowingDashboard = TextUtils.equals( final String className = cn.getClassName(); SettingsActivity.class.getName(), intent.getComponent().getClassName()); mIsShowingDashboard = className.equals(Settings.class.getName()); // This is a "Sub Settings" when: // This is a "Sub Settings" when: // - this is a real SubSettings // - this is a real SubSettings Loading src/com/android/settings/homepage/SettingsHomepageActivity.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settings.homepage; package com.android.settings.homepage; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.os.Bundle; import android.os.Bundle; import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils; Loading @@ -27,6 +26,7 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction; import com.android.settings.R; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.FeatureFlags; import com.android.settings.core.FeatureFlags; import com.android.settings.core.SettingsBaseActivity; import com.android.settings.core.SettingsBaseActivity; import com.android.settings.homepage.contextualcards.ContextualCardsFragment; import com.android.settings.homepage.contextualcards.ContextualCardsFragment; Loading @@ -38,9 +38,8 @@ public class SettingsHomepageActivity extends SettingsBaseActivity { protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); if (!isDynamicHomepageEnabled(this)) { if (!FeatureFlagUtils.isEnabled(this, FeatureFlags.DYNAMIC_HOMEPAGE)) { final Intent settings = new Intent(); final Intent settings = new Intent(this, SettingsActivity.class); settings.setAction("android.settings.SETTINGS"); startActivity(settings); startActivity(settings); finish(); finish(); return; return; Loading @@ -56,10 +55,6 @@ public class SettingsHomepageActivity extends SettingsBaseActivity { showFragment(new TopLevelSettings(), R.id.main_content); showFragment(new TopLevelSettings(), R.id.main_content); } } public static boolean isDynamicHomepageEnabled(Context context) { return FeatureFlagUtils.isEnabled(context, FeatureFlags.DYNAMIC_HOMEPAGE); } private void showFragment(Fragment fragment, int id) { private void showFragment(Fragment fragment, int id) { final FragmentManager fragmentManager = getSupportFragmentManager(); final FragmentManager fragmentManager = getSupportFragmentManager(); final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Loading tests/robotests/src/com/android/settings/SettingsActivityTest.java +6 −8 Original line number Original line Diff line number Diff line Loading @@ -71,10 +71,9 @@ public class SettingsActivityTest { @Test @Test public void onCreate_deviceNotProvisioned_shouldDisableSearch() { public void onCreate_deviceNotProvisioned_shouldDisableSearch() { Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0); Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0); final Intent intent = new Intent(mContext, Settings.class); final SettingsActivity activity = Robolectric.buildActivity(SettingsActivity.class) final SettingsActivity activity = .create(Bundle.EMPTY) Robolectric.buildActivity(SettingsActivity.class, intent).create( .get(); Bundle.EMPTY).get(); assertThat(activity.findViewById(R.id.search_bar).getVisibility()) assertThat(activity.findViewById(R.id.search_bar).getVisibility()) .isEqualTo(View.INVISIBLE); .isEqualTo(View.INVISIBLE); Loading @@ -83,10 +82,9 @@ public class SettingsActivityTest { @Test @Test public void onCreate_deviceProvisioned_shouldEnableSearch() { public void onCreate_deviceProvisioned_shouldEnableSearch() { Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1); Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1); final Intent intent = new Intent(mContext, Settings.class); final SettingsActivity activity = Robolectric.buildActivity(SettingsActivity.class) final SettingsActivity activity = .create(Bundle.EMPTY) Robolectric.buildActivity(SettingsActivity.class, intent).create( .get(); Bundle.EMPTY).get(); assertThat(activity.findViewById(R.id.search_bar).getVisibility()).isEqualTo(View.VISIBLE); assertThat(activity.findViewById(R.id.search_bar).getVisibility()).isEqualTo(View.VISIBLE); } } Loading tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java 0 → 100644 +47 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2018 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.homepage; import static com.google.common.truth.Truth.assertThat; import android.util.FeatureFlagUtils; import com.android.settings.SettingsActivity; import com.android.settings.core.FeatureFlags; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowActivity; @RunWith(SettingsRobolectricTestRunner.class) public class SettingsHomepageActivityTest { @Test public void launch_featureFlagOff_shouldRedirectToSettingsActivity() { FeatureFlagUtils.setEnabled(RuntimeEnvironment.application, FeatureFlags.DYNAMIC_HOMEPAGE, false); final ShadowActivity shadowActivity = Shadows.shadowOf( Robolectric.setupActivity(SettingsHomepageActivity.class)); assertThat(shadowActivity.getNextStartedActivity().getComponent().getClassName()) .isEqualTo(SettingsActivity.class.getName()); } } Loading
AndroidManifest.xml +9 −10 Original line number Original line Diff line number Diff line Loading @@ -111,13 +111,9 @@ <uses-library android:name="org.apache.http.legacy" /> <uses-library android:name="org.apache.http.legacy" /> <!-- Settings --> <!-- Settings --> <activity android:name="Settings" <activity android:name="SettingsActivity" android:label="@string/settings_label_launcher" android:label="@string/settings_label_launcher" android:launchMode="singleTask"> android:launchMode="singleTask"> <intent-filter android:priority="1"> <action android:name="android.settings.SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> android:value="true" /> </activity> </activity> Loading @@ -126,6 +122,12 @@ android:label="@string/settings_label_launcher" android:label="@string/settings_label_launcher" android:theme="@style/Theme.Settings.Home" android:theme="@style/Theme.Settings.Home" android:launchMode="singleTask"> android:launchMode="singleTask"> <intent-filter android:priority="1"> <action android:name="android.settings.SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED" android:value="true" /> </activity> </activity> <activity android:name=".network.telephony.MobileSettingsActivity" <activity android:name=".network.telephony.MobileSettingsActivity" Loading Loading @@ -2974,15 +2976,12 @@ <receiver <receiver android:name=".slices.SliceBroadcastReceiver" android:name=".slices.SliceBroadcastReceiver" android:exported="false"> android:exported="false" /> </receiver> <receiver <receiver android:name=".slices.SliceRelayReceiver" android:name=".slices.SliceRelayReceiver" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:permission="android.permission.MANAGE_SLICE_PERMISSIONS" android:exported="true"> android:exported="true" /> </receiver> <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send PendingIntent to it--> PendingIntent to it--> Loading
src/com/android/settings/SettingsActivity.java +2 −6 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings; package com.android.settings; import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO; import android.app.ActionBar; import android.app.ActionBar; import android.app.ActivityManager; import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; Loading Loading @@ -248,10 +246,8 @@ public class SettingsActivity extends SettingsBaseActivity // Getting Intent properties can only be done after the super.onCreate(...) // Getting Intent properties can only be done after the super.onCreate(...) final String initialFragmentName = intent.getStringExtra(EXTRA_SHOW_FRAGMENT); final String initialFragmentName = intent.getStringExtra(EXTRA_SHOW_FRAGMENT); final ComponentName cn = intent.getComponent(); mIsShowingDashboard = TextUtils.equals( final String className = cn.getClassName(); SettingsActivity.class.getName(), intent.getComponent().getClassName()); mIsShowingDashboard = className.equals(Settings.class.getName()); // This is a "Sub Settings" when: // This is a "Sub Settings" when: // - this is a real SubSettings // - this is a real SubSettings Loading
src/com/android/settings/homepage/SettingsHomepageActivity.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settings.homepage; package com.android.settings.homepage; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.os.Bundle; import android.os.Bundle; import android.util.FeatureFlagUtils; import android.util.FeatureFlagUtils; Loading @@ -27,6 +26,7 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction; import com.android.settings.R; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.FeatureFlags; import com.android.settings.core.FeatureFlags; import com.android.settings.core.SettingsBaseActivity; import com.android.settings.core.SettingsBaseActivity; import com.android.settings.homepage.contextualcards.ContextualCardsFragment; import com.android.settings.homepage.contextualcards.ContextualCardsFragment; Loading @@ -38,9 +38,8 @@ public class SettingsHomepageActivity extends SettingsBaseActivity { protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.onCreate(savedInstanceState); if (!isDynamicHomepageEnabled(this)) { if (!FeatureFlagUtils.isEnabled(this, FeatureFlags.DYNAMIC_HOMEPAGE)) { final Intent settings = new Intent(); final Intent settings = new Intent(this, SettingsActivity.class); settings.setAction("android.settings.SETTINGS"); startActivity(settings); startActivity(settings); finish(); finish(); return; return; Loading @@ -56,10 +55,6 @@ public class SettingsHomepageActivity extends SettingsBaseActivity { showFragment(new TopLevelSettings(), R.id.main_content); showFragment(new TopLevelSettings(), R.id.main_content); } } public static boolean isDynamicHomepageEnabled(Context context) { return FeatureFlagUtils.isEnabled(context, FeatureFlags.DYNAMIC_HOMEPAGE); } private void showFragment(Fragment fragment, int id) { private void showFragment(Fragment fragment, int id) { final FragmentManager fragmentManager = getSupportFragmentManager(); final FragmentManager fragmentManager = getSupportFragmentManager(); final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Loading
tests/robotests/src/com/android/settings/SettingsActivityTest.java +6 −8 Original line number Original line Diff line number Diff line Loading @@ -71,10 +71,9 @@ public class SettingsActivityTest { @Test @Test public void onCreate_deviceNotProvisioned_shouldDisableSearch() { public void onCreate_deviceNotProvisioned_shouldDisableSearch() { Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0); Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0); final Intent intent = new Intent(mContext, Settings.class); final SettingsActivity activity = Robolectric.buildActivity(SettingsActivity.class) final SettingsActivity activity = .create(Bundle.EMPTY) Robolectric.buildActivity(SettingsActivity.class, intent).create( .get(); Bundle.EMPTY).get(); assertThat(activity.findViewById(R.id.search_bar).getVisibility()) assertThat(activity.findViewById(R.id.search_bar).getVisibility()) .isEqualTo(View.INVISIBLE); .isEqualTo(View.INVISIBLE); Loading @@ -83,10 +82,9 @@ public class SettingsActivityTest { @Test @Test public void onCreate_deviceProvisioned_shouldEnableSearch() { public void onCreate_deviceProvisioned_shouldEnableSearch() { Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1); Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1); final Intent intent = new Intent(mContext, Settings.class); final SettingsActivity activity = Robolectric.buildActivity(SettingsActivity.class) final SettingsActivity activity = .create(Bundle.EMPTY) Robolectric.buildActivity(SettingsActivity.class, intent).create( .get(); Bundle.EMPTY).get(); assertThat(activity.findViewById(R.id.search_bar).getVisibility()).isEqualTo(View.VISIBLE); assertThat(activity.findViewById(R.id.search_bar).getVisibility()).isEqualTo(View.VISIBLE); } } Loading
tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java 0 → 100644 +47 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2018 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.homepage; import static com.google.common.truth.Truth.assertThat; import android.util.FeatureFlagUtils; import com.android.settings.SettingsActivity; import com.android.settings.core.FeatureFlags; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowActivity; @RunWith(SettingsRobolectricTestRunner.class) public class SettingsHomepageActivityTest { @Test public void launch_featureFlagOff_shouldRedirectToSettingsActivity() { FeatureFlagUtils.setEnabled(RuntimeEnvironment.application, FeatureFlags.DYNAMIC_HOMEPAGE, false); final ShadowActivity shadowActivity = Shadows.shadowOf( Robolectric.setupActivity(SettingsHomepageActivity.class)); assertThat(shadowActivity.getNextStartedActivity().getComponent().getClassName()) .isEqualTo(SettingsActivity.class.getName()); } }