diff --git a/Android.bp b/Android.bp
index 18f8fdd69f0cc25fab8d7ee469b0ccd0d4e0ea8e..9ab0c299b3e7fc680fb8d6c9d9b07b03bf639580 100644
--- a/Android.bp
+++ b/Android.bp
@@ -26,6 +26,7 @@ android_app {
"setupdesign",
"SystemUISharedLib",
"org.lineageos.platform.internal",
+ "androidx.browser_browser",
],
libs: ["telephony-common"],
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2b2fbdea17f9e5c3365bca0e69e9a4d7abea6d9c..f87ddd304e565b8eecc8a0aeaace1e727a97501f 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -270,6 +270,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/raw/lineage_wizard_script.xml b/res/raw/lineage_wizard_script.xml
index 4d964ea83836238e1afc533c86028e92be3ee900..50b5e52966a5d9f33790ec06fdb2a4d55e15130f 100644
--- a/res/raw/lineage_wizard_script.xml
+++ b/res/raw/lineage_wizard_script.xml
@@ -42,6 +42,12 @@
+
+
+
+
diff --git a/res/values-fr/e_strings.xml b/res/values-fr/e_strings.xml
index 5ccf27d08406fd9439baf097fe94d1c035ea4ee8..1e512b82c60de4ce1d99d08b934f181f4a5a0647 100644
--- a/res/values-fr/e_strings.xml
+++ b/res/values-fr/e_strings.xml
@@ -13,8 +13,7 @@
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see .
- -->
-
+ -->Bienvenue sur
\n/e/OSSe connecter
@@ -25,4 +24,7 @@
Mettre à jour le Recovery en même temps que l\'OSMet à jour le Recovery lors du premier démarrage suivant chaque mise à jour.Mettre à jour le Recovery
+ Cette application propose une protection contre les contenus inappropriés pour vos enfants et adolescents. Vous pouvez activer cette fonctionnalité quand vous prêtez votre téléphone à votre enfant ou si cela est leur appareil. Pour en savoir plus à ce sujet, veuillez aller sur
+ Activez le Contrôle Parental
+ Paramétrez le Contrôle Parental
\ No newline at end of file
diff --git a/res/values-is/e_strings.xml b/res/values-is/e_strings.xml
index 4be9b12ed15e3c7bd66fff9dcfb0550a2918e567..ee7d4a80ea76eaf7cf8947bf13558590fe52ad8b 100644
--- a/res/values-is/e_strings.xml
+++ b/res/values-is/e_strings.xml
@@ -26,5 +26,5 @@
Uppfæra endurheimtingu samhliða uppfærslum stýrikerfisVirkja barnalæsinguSetja upp barnalæsingu
- Þetta forrit veitir vörn gegn óviðeigandi efni fyrir börnin þín og unglinga. Þú getur virkjað þessa eiginleika þegar þú lánar símann þinn til barns eða haft þetta virkt á tækjunum þeirra.
+ Þetta forrit veitir vörn gegn óviðeigandi efni fyrir börnin þín og unglinga. Þú getur virkjað þessa eiginleika þegar þú lánar símann þinn til barns eða haft þetta virkt á tækjunum þeirra. Til að sjá meira um þetta, skaltu fara á
\ No newline at end of file
diff --git a/res/values-sv/e_strings.xml b/res/values-sv/e_strings.xml
index ac7fccef4e99d5bf3045b1f7946e0ab9aeb6b900..f15d47658a25c6f0f1c94067e9c183436a00de7b 100644
--- a/res/values-sv/e_strings.xml
+++ b/res/values-sv/e_strings.xml
@@ -24,7 +24,7 @@
Synka ditt molnkontoLogga in med ditt e.email- eller murena.io-konto för att ansluta ditt personliga konto med denna telefon. Detta kommer tillåta dig att synkronisera dina e-post, kalenderhändelser, bilder, videor, anteckningar och uppgifter mellan denna telefon och ditt personliga moln.Logga in
- Aktivera föräldrakontroll
+ Aktivera FöräldrakontrollStäll in föräldrakontroll
- Denna app erbjuder skydd mot olämpligt innehåll för barn och tonåringar. Du kan aktivera funktionen när du lånar ut din telefon till ditt barn eller om det är deras enhet.
+ Denna app erbjuder skydd mot olämpligt innehåll för barn och tonåringar. Du kan aktivera funktionen när du lånar ut din telefon till ditt barn eller om det är deras enhet. För att ta reda på mer, gå till
\ No newline at end of file
diff --git a/res/values/e_strings.xml b/res/values/e_strings.xml
index c3aacd8e1d861e6a662ef7940de021e5df6038fb..180146bf72ff8498dd85d360e29d3ea4089ad750 100644
--- a/res/values/e_strings.xml
+++ b/res/values/e_strings.xml
@@ -13,18 +13,18 @@
~
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see .
- -->
-
+ -->Sync your cloud accountLog in with your e.email or murena.io ID to connect your personal account with this phone. This will enable to synchronize your emails, contacts, calendar events, pictures, videos, notes and tasks across this phone and your personal cloud.Log in
-
Create AccountSign in
-
Welcome to \n/e/OS
-
Update RecoveryUpdates Recovery on first boot subsequent to every update.Update Recovery alongside the OS
+ Activate Parental Control
+ Set up Parental Control
+ This app offers protection against inappropriate content for your children and teenagers. You can activate this feature when lending your phone to your kid or if this is their device. To know more about it please go to
+ https://doc.e.foundation/support-topics/parental-control
\ No newline at end of file
diff --git a/src/org/lineageos/setupwizard/ParentalControlActivity.java b/src/org/lineageos/setupwizard/ParentalControlActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..4a49f37b21a86356d03e3faa924484f39b347b8f
--- /dev/null
+++ b/src/org/lineageos/setupwizard/ParentalControlActivity.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2024 MURENA 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 org.lineageos.setupwizard;
+
+import androidx.activity.result.ActivityResult;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.net.Uri;
+import android.view.View;
+import android.os.Bundle;
+import androidx.browser.customtabs.CustomTabsIntent;
+
+public class ParentalControlActivity extends SubBaseActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setNextText(R.string.skip);
+ }
+
+ @Override
+ protected void onStartSubactivity() {
+ setNextAllowed(true);
+ findViewById(R.id.activate_parental_control).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ launchParentalControl();
+ }
+ });
+ findViewById(R.id.more_info_textview).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String docUrl = getString(R.string.more_info_text);
+ try {
+ CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().setShowTitle(true).build();
+ customTabsIntent.launchUrl(getApplicationContext(), Uri.parse(docUrl));
+ } catch (Exception e) {
+ // Fallback to default browser
+ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(docUrl));
+ startActivity(intent);
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onSubactivityResult(ActivityResult activityResult) {
+ Intent data = activityResult.getData();
+ if (data != null && data.getBooleanExtra("onBackPressed", false)) {
+ onStartSubactivity();
+ return;
+ // Check for back press from Parental control activity
+ } else if(activityResult.getResultCode() == RESULT_OK) {
+ onNavigateNext();
+ }
+
+ }
+
+ @Override
+ protected int getLayoutResId() {
+ return R.layout.setup_parental_control;
+ }
+
+ @Override
+ protected int getTitleResId() {
+ return R.string.parental_control_setup_title;
+ }
+
+ @Override
+ protected int getIconResId() {
+ return R.drawable.ic_account_manager_screen;
+ }
+
+ private void launchParentalControl() {
+ Intent intent = new Intent();
+ intent.setComponent(new ComponentName("foundation.e.parentalcontrol", "foundation.e.parentalcontrol.MainActivity"));
+ startSubactivity(intent);
+ }
+}