diff --git a/res/drawable/ic_e_settings_parental_control.xml b/res/drawable/ic_e_settings_parental_control.xml new file mode 100644 index 0000000000000000000000000000000000000000..cbc6bae71605fb33ad1ebc7563b20b80e39344c4 --- /dev/null +++ b/res/drawable/ic_e_settings_parental_control.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + diff --git a/res/layout/support_details_dialog.xml b/res/layout/support_details_dialog.xml index 2390f90e2be38db5ec6bcd5fe0e35db9e142df14..d066c686af79b8eecf958120a3173f250819069f 100644 --- a/res/layout/support_details_dialog.xml +++ b/res/layout/support_details_dialog.xml @@ -42,7 +42,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:gravity="center_horizontal" - android:text="@string/disabled_by_policy_title" + android:text="@string/e_disabled_by_policy_title" android:textAppearance="@style/TextAppearance.AdminDialogTitle"/> diff --git a/res/values/e_strings.xml b/res/values/e_strings.xml index 2f8dfa8140cf02c2d94992b95c5dc1f10e0f5d72..c54174b77e2439fc12bf11211baa15b987dcf35a 100644 --- a/res/values/e_strings.xml +++ b/res/values/e_strings.xml @@ -62,4 +62,9 @@ /e/OS v%1$s - installed reboot required /e/OS developer options + + Parental control + Helps parent to control child device + + "This setting is blocked" \ No newline at end of file diff --git a/res/xml/parental_control_dashboard_settings.xml b/res/xml/parental_control_dashboard_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..6565301b8f002f3a466c88720ea9b2a76e7a55f7 --- /dev/null +++ b/res/xml/parental_control_dashboard_settings.xml @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml index d13ce995d119276e81b7b49b2d2d5bab4ec8fab2..6b6bf65192ec986d97755ebd5fcaf5864359d2e0 100644 --- a/res/xml/top_level_settings.xml +++ b/res/xml/top_level_settings.xml @@ -185,6 +185,14 @@ android:order="-35" android:fragment="com.android.settings.privacy.AdvancedPrivacyDashboardFragment"/> + + mContext.getString(R.string.disabled_by_policy_title))); + () -> mContext.getString(R.string.e_disabled_by_policy_title))); ((RestrictedPreference) preference).setDisabledByAdmin(admin); } else { preference.setSummary(getTimeoutSummary(maxTimeout)); diff --git a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java index b61813b2af66038048f336abaf2070d4bfe8de02..9fc5892c18227b46a3033dceeeb3ef08f307b55e 100644 --- a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java +++ b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java @@ -74,7 +74,7 @@ public final class ActionDisabledByAdminDialogHelper { TextView title = mDialogView.findViewById(R.id.admin_support_dialog_title); title.setText(devicePolicyManager.getResources().getString(DISABLED_BY_IT_ADMIN_TITLE, - () -> mActivity.getString(R.string.disabled_by_policy_title))); + () -> mActivity.getString(R.string.e_disabled_by_policy_title))); } diff --git a/src/com/android/settings/enterprise/DeviceAdminStringProviderImpl.java b/src/com/android/settings/enterprise/DeviceAdminStringProviderImpl.java index 422ffe9a4c6c6d40ad1478ef8a80fe7a006ced52..6a139fbde802c7870cfe9ab5861a9cf8a0461779 100644 --- a/src/com/android/settings/enterprise/DeviceAdminStringProviderImpl.java +++ b/src/com/android/settings/enterprise/DeviceAdminStringProviderImpl.java @@ -40,7 +40,7 @@ class DeviceAdminStringProviderImpl implements DeviceAdminStringProvider { @Override public String getDefaultDisabledByPolicyTitle() { return mDevicePolicyManager.getResources().getString(DISABLED_BY_IT_ADMIN_TITLE, - () -> mContext.getString(R.string.disabled_by_policy_title)); + () -> mContext.getString(R.string.e_disabled_by_policy_title)); } @Override diff --git a/src/com/android/settings/privacy/ParentalControlDashboardFragment.java b/src/com/android/settings/privacy/ParentalControlDashboardFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..bc85c3d65f394d5c0cc44c032d4a8985c89132b7 --- /dev/null +++ b/src/com/android/settings/privacy/ParentalControlDashboardFragment.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2019-2022 ECORP SAS + * + * 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.privacy; + +import android.app.Activity; +import android.content.ComponentName; +import android.content.Intent; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import com.android.settings.R; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settingslib.search.SearchIndexable; + +@SearchIndexable +public class ParentalControlDashboardFragment extends Fragment { + + private static final String parentalControlPackageName = "foundation.e.parentalcontrol"; + private static final String parentalControlActivityName = "foundation.e.parentalcontrol.MainActivity"; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Activity activity = getActivity(); + Intent intent = new Intent().setComponent(new ComponentName(parentalControlPackageName, + parentalControlActivityName)); + startActivity(intent); + + if (activity != null) { + activity.finish(); + } + } + + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider(R.xml.parental_control_dashboard_settings); +} \ No newline at end of file diff --git a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java index 180ed990c5a2ffcaf4611f0e4ca675d593d49720..f70bc7099025fa9f76006e69904fdb6b9bb9074f 100644 --- a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java +++ b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java @@ -125,7 +125,7 @@ public class LockAfterTimeoutPreferenceController extends AbstractPreferenceCont final CharSequence summary; if (preference.isDisabledByAdmin()) { summary = mDPM.getResources().getString(DISABLED_BY_IT_ADMIN_TITLE, - () -> mContext.getString(R.string.disabled_by_policy_title)); + () -> mContext.getString(R.string.e_disabled_by_policy_title)); } else { // Update summary message with current value long currentTimeout = Settings.Secure.getLong(mContext.getContentResolver(),