Check config to Show/Hide Private space Hide Illustration

Enable/disable the search tile content and hide illustration
in Hide Private Space Settings page based on the config value.
By default the config value is set to true which will be used in Pixel
to show the illustration and search tile content.

OEM can set value of config_enableSearchTileHideIllustrationInPrivateSpace in the device
overlay file to false to disable it and with this change it is taken
care to hide them if the config value is false

Screenshot:
go/ss/56WxtgXd5NSqVFm.png

Bug: 346612477
Test: Manual
Flag: android.multiuser.private_space_search_illustration_config
Change-Id: Ia9fbdebd9a220f4d995369d662a75989f07a2916
This commit is contained in:
josephpv
2024-07-19 16:52:31 +00:00
parent 9707271dad
commit f5d279c9a2
3 changed files with 92 additions and 2 deletions

View File

@@ -21,7 +21,8 @@
<com.android.settingslib.widget.IllustrationPreference
android:key="private_space_hide_illustration"
settings:searchable="false"
settings:lottie_rawRes="@raw/private_space_hide_when_locked_illustration"/>
settings:lottie_rawRes="@raw/private_space_hide_when_locked_illustration"
settings:controller="com.android.settings.privatespace.HidePrivateSpaceIllustrationController"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="hide_when_locked"
@@ -35,7 +36,9 @@
settings:searchable="false" />
<PreferenceCategory
android:title="@string/private_space_access_header">
android:key="private_space_access"
android:title="@string/private_space_access_header"
settings:controller="com.android.settings.privatespace.HidePrivateSpaceCategoryController">
<Preference
android:key="search_when_locked_footer"

View File

@@ -0,0 +1,43 @@
/*
* Copyright (C) 2024 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.privatespace;
import android.content.Context;
import android.content.res.Resources;
import androidx.annotation.NonNull;
import com.android.settings.widget.PreferenceCategoryController;
public class HidePrivateSpaceCategoryController extends PreferenceCategoryController {
public HidePrivateSpaceCategoryController(@NonNull Context context, @NonNull String key) {
super(context, key);
}
@Override
public int getAvailabilityStatus() {
if (android.multiuser.Flags.privateSpaceSearchIllustrationConfig()) {
boolean configValue =
Resources.getSystem()
.getBoolean(
com.android.internal.R.bool
.config_enableSearchTileHideIllustrationInPrivateSpace);
return configValue ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
return AVAILABLE;
}
}

View File

@@ -0,0 +1,44 @@
/*
* Copyright (C) 2024 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.privatespace;
import android.content.Context;
import android.content.res.Resources;
import androidx.annotation.NonNull;
import com.android.settings.core.BasePreferenceController;
public class HidePrivateSpaceIllustrationController extends BasePreferenceController {
public HidePrivateSpaceIllustrationController(@NonNull Context context, @NonNull String key) {
super(context, key);
}
@Override
public int getAvailabilityStatus() {
if (android.multiuser.Flags.privateSpaceSearchIllustrationConfig()) {
boolean configValue =
Resources.getSystem()
.getBoolean(
com.android.internal.R.bool
.config_enableSearchTileHideIllustrationInPrivateSpace);
return configValue ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
return AVAILABLE;
}
}