Android-x86
Fork
Donation

  • R/O
  • HTTP
  • SSH
  • HTTPS

packages-apps-Settings: Commit

packages/apps/Settings


Commit MetaInfo

Revisióna41b6b10517d34e749c414b44510bd6eb9925284 (tree)
Tiempo2018-10-09 22:45:15
AutorChih-Wei Huang <cwhuang@linu...>
CommiterChih-Wei Huang

Log Message

Android 8.1.0 release 48
-----BEGIN PGP SIGNATURE-----

iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCW6qiFQAKCRDorT+BmrEO
eL6iAJ4jEd83rf5bQpqxJGBD+i8dxenjRQCcD1XrU9J1R9sqriSWEcg6Ortd9Aw=
=/nUN
-----END PGP SIGNATURE-----

Merge tag 'android-8.1.0_r48' into oreo-x86

Android 8.1.0 release 48

Cambiar Resumen

Diferencia incremental

--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -322,7 +322,7 @@ public class SettingsActivity extends SettingsDrawerActivity
322322 }
323323
324324 if (mIsShowingDashboard) {
325- findViewById(R.id.search_bar).setVisibility(View.VISIBLE);
325+ setSearchBarVisibility();
326326 findViewById(R.id.action_bar).setVisibility(View.GONE);
327327 Toolbar toolbar = findViewById(R.id.search_action_bar);
328328 toolbar.setOnClickListener(this);
@@ -407,6 +407,12 @@ public class SettingsActivity extends SettingsDrawerActivity
407407 }
408408
409409 @VisibleForTesting
410+ void setSearchBarVisibility() {
411+ findViewById(R.id.search_bar).setVisibility(
412+ Utils.isDeviceProvisioned(this) ? View.VISIBLE : View.INVISIBLE);
413+ }
414+
415+ @VisibleForTesting
410416 void launchSettingFragment(String initialFragmentName, boolean isSubSettings, Intent intent) {
411417 if (!mIsShowingDashboard && initialFragmentName != null) {
412418 // UP will be shown only if it is a sub settings
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -164,6 +164,11 @@ public class ChooseLockGeneric extends SettingsActivity {
164164 @Override
165165 public void onCreate(Bundle savedInstanceState) {
166166 super.onCreate(savedInstanceState);
167+ final Activity activity = getActivity();
168+ if (!Utils.isDeviceProvisioned(activity) && !canRunBeforeDeviceProvisioned()) {
169+ activity.finish();
170+ return;
171+ }
167172
168173 String chooseLockAction = getActivity().getIntent().getAction();
169174 mFingerprintManager = Utils.getFingerprintManagerOrNull(getActivity());
@@ -248,6 +253,10 @@ public class ChooseLockGeneric extends SettingsActivity {
248253 addHeaderView();
249254 }
250255
256+ protected boolean canRunBeforeDeviceProvisioned() {
257+ return false;
258+ }
259+
251260 protected void addHeaderView() {
252261 if (mForFingerprint) {
253262 setHeaderView(R.layout.choose_lock_generic_fingerprint_header);
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -129,6 +129,11 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
129129 return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
130130 }
131131
132+ @Override
133+ protected boolean canRunBeforeDeviceProvisioned() {
134+ return true;
135+ }
136+
132137 /***
133138 * Disables preferences that are less secure than required quality and shows only secure
134139 * screen lock options here.
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -35,12 +35,11 @@ import android.content.Context;
3535 import android.content.Intent;
3636 import android.graphics.Bitmap;
3737 import android.os.Bundle;
38-import android.view.Menu;
38+import android.provider.Settings.Global;
39+import android.view.View;
3940
4041 import com.android.settings.search.SearchActivity;
41-import com.android.settings.testutils.FakeFeatureFactory;
4242 import com.android.settings.testutils.SettingsRobolectricTestRunner;
43-
4443 import org.junit.Before;
4544 import org.junit.Test;
4645 import org.junit.runner.RunWith;
@@ -56,23 +55,44 @@ import org.robolectric.util.ReflectionHelpers;
5655 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
5756 public class SettingsActivityTest {
5857
59- @Mock(answer = Answers.RETURNS_DEEP_STUBS)
60- private Context mContext;
61-
6258 @Mock
6359 private FragmentManager mFragmentManager;
6460 @Mock
6561 private ActivityManager.TaskDescription mTaskDescription;
6662 @Mock
6763 private Bitmap mBitmap;
64+ @Mock
65+ private View mSearchBar;
6866 private SettingsActivity mActivity;
67+ private Context mContext;
6968
7069 @Before
7170 public void setUp() {
7271 MockitoAnnotations.initMocks(this);
7372
73+ mContext = RuntimeEnvironment.application;
7474 mActivity = spy(new SettingsActivity());
7575 doReturn(mBitmap).when(mActivity).getBitmapFromXmlResource(anyInt());
76+ doReturn(mContext.getContentResolver()).when(mActivity).getContentResolver();
77+ doReturn(mSearchBar).when(mActivity).findViewById(R.id.search_bar);
78+ }
79+
80+ @Test
81+ public void setSearchBarVisibility_deviceNotProvisioned_shouldDisableSearch() {
82+ Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0);
83+
84+ mActivity.setSearchBarVisibility();
85+
86+ verify(mSearchBar).setVisibility(View.INVISIBLE);
87+ }
88+
89+ @Test
90+ public void setSearchBarVisibility_deviceProvisioned_shouldEnableSearch() {
91+ Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
92+
93+ mActivity.setSearchBarVisibility();
94+
95+ verify(mSearchBar).setVisibility(View.VISIBLE);
7696 }
7797
7898 @Test
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -0,0 +1,97 @@
1+/*
2+ * Copyright (C) 2018 The Android Open Source Project
3+ *
4+ * Licensed under the Apache License, Version 2.0 (the "License");
5+ * you may not use this file except in compliance with the License.
6+ * You may obtain a copy of the License at
7+ *
8+ * http://www.apache.org/licenses/LICENSE-2.0
9+ *
10+ * Unless required by applicable law or agreed to in writing, software
11+ * distributed under the License is distributed on an "AS IS" BASIS,
12+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ * See the License for the specific language governing permissions and
14+ * limitations under the License
15+ */
16+
17+package com.android.settings.password;
18+
19+import static org.mockito.Mockito.spy;
20+import static org.mockito.Mockito.verify;
21+import static org.mockito.Mockito.when;
22+
23+import android.app.Activity;
24+import android.app.FragmentHostCallback;
25+import android.content.Context;
26+import android.os.Bundle;
27+import android.provider.Settings.Global;
28+
29+import com.android.settings.TestConfig;
30+import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
31+import com.android.settings.testutils.SettingsRobolectricTestRunner;
32+import com.android.settings.testutils.shadow.SettingsShadowResources;
33+
34+import org.junit.After;
35+import org.junit.Before;
36+import org.junit.Test;
37+import org.junit.runner.RunWith;
38+import org.mockito.Mock;
39+import org.mockito.MockitoAnnotations;
40+import org.robolectric.RuntimeEnvironment;
41+import org.robolectric.annotation.Config;
42+import org.robolectric.util.ReflectionHelpers;
43+
44+@RunWith(SettingsRobolectricTestRunner.class)
45+@Config(
46+ manifest = TestConfig.MANIFEST_PATH,
47+ sdk = TestConfig.SDK_VERSION,
48+ shadows = {
49+ SettingsShadowResources.class,
50+ SettingsShadowResources.SettingsShadowTheme.class
51+ })
52+public class ChooseLockGenericTest {
53+
54+ @Mock
55+ private ChooseLockGeneric mActivity;
56+
57+ private Context mContext;
58+
59+ @Before
60+ public void setUp() {
61+ MockitoAnnotations.initMocks(this);
62+ mContext = RuntimeEnvironment.application;
63+ when(mActivity.getContentResolver()).thenReturn(mContext.getContentResolver());
64+ when(mActivity.getTheme()).thenReturn(mContext.getTheme());
65+ when(mActivity.getResources()).thenReturn(mContext.getResources());
66+ }
67+
68+ @After
69+ public void tearDown() {
70+ Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
71+ }
72+
73+ @Test
74+ public void onCreate_deviceNotProvisioned_shouldFinishActivity() {
75+ Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0);
76+ final ChooseLockGenericFragment fragment = spy(new ChooseLockGenericFragment());
77+ when(fragment.getActivity()).thenReturn(mActivity);
78+ ReflectionHelpers.setField(fragment, "mHost", new TestHostCallbacks());
79+
80+ fragment.onCreate(Bundle.EMPTY);
81+
82+ verify(mActivity).finish();
83+ }
84+
85+ public class TestHostCallbacks extends FragmentHostCallback<Activity> {
86+
87+ public TestHostCallbacks() {
88+ super(mActivity, null /* handler */, 0 /* windowAnimations */);
89+ }
90+
91+ @Override
92+ public Activity onGetHost() {
93+ return mActivity;
94+ }
95+ }
96+
97+}
Show on old repository browser