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(),