commit 35f8db1e622e520992486b751ade241c23f33871
Author: Igor Oliveira <i...@torproject.org>
Date:   Thu Aug 23 23:11:09 2018 -0300

    Bug 25696 - Design of alpha onboarding for Tor Browser for Android
    
    - Update description copy and background color.
---
 .../firstrun_basepanel_checkable_fragment.xml      |   2 +-
 .../android/app/src/photon/res/values/colors.xml   |   1 +
 .../gecko/firstrun/FirstrunPagerConfig.java        |   1 +
 .../org/mozilla/gecko/firstrun/FirstrunPanel.java  |   2 ++
 .../gecko/firstrun/FirstrunTorPagerConfig.java     |  16 +++++++----
 .../java/org/mozilla/gecko/firstrun/LastPanel.java |   6 ++--
 .../android/base/locales/en-US/android_strings.dtd |  32 +++++++++++++--------
 mobile/android/base/strings.xml.in                 |  10 +++++++
 .../res/drawable-nodpi/figure_security.png         | Bin 0 -> 52021 bytes
 9 files changed, 47 insertions(+), 23 deletions(-)

diff --git 
a/mobile/android/app/src/main/res/layout/firstrun_basepanel_checkable_fragment.xml
 
b/mobile/android/app/src/main/res/layout/firstrun_basepanel_checkable_fragment.xml
index 6233198982d9..b0083511ae0d 100644
--- 
a/mobile/android/app/src/main/res/layout/firstrun_basepanel_checkable_fragment.xml
+++ 
b/mobile/android/app/src/main/res/layout/firstrun_basepanel_checkable_fragment.xml
@@ -13,7 +13,7 @@
     <LinearLayout android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:minHeight="@dimen/firstrun_min_height"
-                  android:background="@android:color/white"
+                  android:background="@color/tor_description_background_text"
                   android:gravity="center_horizontal"
                   android:orientation="vertical">
 
diff --git a/mobile/android/app/src/photon/res/values/colors.xml 
b/mobile/android/app/src/photon/res/values/colors.xml
index b3522be3c2db..b322a46fe008 100644
--- a/mobile/android/app/src/photon/res/values/colors.xml
+++ b/mobile/android/app/src/photon/res/values/colors.xml
@@ -153,6 +153,7 @@
 
     <color name="tor_tab_inactive_text">#484848</color>
     <color name="tor_tab_active_text">#7D4698</color>
+    <color name="tor_description_background_text">#FAFAFA</color>
     <!-- Restricted profiles palette -->
 
     <color name="restricted_profile_background_gold">#ffffcb51</color>
diff --git 
a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
index ad6eae5b6e98..09a347699a31 100644
--- 
a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
+++ 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
@@ -23,6 +23,7 @@ public class FirstrunPagerConfig {
     public static final String KEY_IMAGE = "imageRes";
     public static final String KEY_TEXT = "textRes";
     public static final String KEY_SUBTEXT = "subtextRes";
+    public static final String KEY_CTATEXT = "ctatextRes";
 
    public static List<FirstrunPanelConfig> getDefault(Context context) {
         final List<FirstrunPanelConfig> panels = new LinkedList<>();
diff --git 
a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPanel.java 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPanel.java
index 13a2994fb2c1..f7d5745229a3 100644
--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPanel.java
@@ -35,10 +35,12 @@ public class FirstrunPanel extends Fragment {
             final int imageRes = args.getInt(FirstrunPagerConfig.KEY_IMAGE);
             final int textRes = args.getInt(FirstrunPagerConfig.KEY_TEXT);
             final int subtextRes = 
args.getInt(FirstrunPagerConfig.KEY_SUBTEXT);
+            final int ctatextRes = 
args.getInt(FirstrunPagerConfig.KEY_CTATEXT);
 
             ((ImageView) 
root.findViewById(R.id.firstrun_image)).setImageResource(imageRes);
             ((TextView) 
root.findViewById(R.id.firstrun_text)).setText(textRes);
             ((TextView) 
root.findViewById(R.id.firstrun_subtext)).setText(subtextRes);
+            ((TextView) 
root.findViewById(R.id.firstrun_link)).setText(ctatextRes);
         }
 
         root.findViewById(R.id.firstrun_link).setOnClickListener(new 
View.OnClickListener() {
diff --git 
a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunTorPagerConfig.java
 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunTorPagerConfig.java
index 40b72e705784..f70f2df3335a 100644
--- 
a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunTorPagerConfig.java
+++ 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunTorPagerConfig.java
@@ -23,12 +23,14 @@ public class FirstrunTorPagerConfig {
     public static final String KEY_IMAGE = "imageRes";
     public static final String KEY_TEXT = "textRes";
     public static final String KEY_SUBTEXT = "subtextRes";
+    public static final String KEY_CTATEXT = "ctatextRes";
 
     public static List<FirstrunTorPanelConfig> getDefault(Context context) {
        final List<FirstrunTorPanelConfig> panels = new LinkedList<>();
        panels.add(SimplePanelConfigs.welcomeTorPanelConfig);
        panels.add(SimplePanelConfigs.privacyPanelConfig);
        panels.add(SimplePanelConfigs.torNetworkPanelConfig);
+       panels.add(SimplePanelConfigs.secSettingsPanelConfig);
        panels.add(SimplePanelConfigs.tipsPanelConfig);
        panels.add(SimplePanelConfigs.onionServicesPanelConfig);
 
@@ -41,7 +43,7 @@ public class FirstrunTorPagerConfig {
         private int titleRes;
         private Bundle args;
 
-        public FirstrunTorPanelConfig(String classname, int titleRes, int 
imageRes, int textRes, int subtextRes) {
+        public FirstrunTorPanelConfig(String classname, int titleRes, int 
imageRes, int textRes, int subtextRes, int ctatextRes) {
             this.classname = classname;
             this.titleRes = titleRes;
 
@@ -49,6 +51,7 @@ public class FirstrunTorPagerConfig {
             this.args.putInt(KEY_IMAGE, imageRes);
             this.args.putInt(KEY_TEXT, textRes);
             this.args.putInt(KEY_SUBTEXT, subtextRes);
+            this.args.putInt(KEY_CTATEXT, ctatextRes);
         }
 
         public String getClassname() {
@@ -65,10 +68,11 @@ public class FirstrunTorPagerConfig {
     }
 
     private static class SimplePanelConfigs {
-        public static final FirstrunTorPanelConfig welcomeTorPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_welcome_tab_title, R.drawable.figure_welcome, 
R.string.firstrun_welcome_title, R.string.firstrun_welcome_message);
-        public static final FirstrunTorPanelConfig privacyPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_privacy_tab_title, R.drawable.figure_privacy, 
R.string.firstrun_privacy_title, R.string.firstrun_privacy_message);
-        public static final FirstrunTorPanelConfig torNetworkPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_tornetwork_tab_title, R.drawable.figure_network, 
R.string.firstrun_tornetwork_title, R.string.firstrun_tornetwork_message);
-        public static final FirstrunTorPanelConfig tipsPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_tips_tab_title, R.drawable.figure_experience, 
R.string.firstrun_tips_title, R.string.firstrun_tips_message);
-        public static final FirstrunTorPanelConfig onionServicesPanelConfig = 
new FirstrunTorPanelConfig(LastPanel.class.getName(), 
R.string.firstrun_onionservices_tab_title, R.drawable.figure_onion, 
R.string.firstrun_onionservices_title, R.string.firstrun_onionservices_message);
+        public static final FirstrunTorPanelConfig welcomeTorPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_welcome_tab_title, R.drawable.figure_welcome, 
R.string.firstrun_welcome_title, R.string.firstrun_welcome_message, 
R.string.firstrun_welcome_next);
+        public static final FirstrunTorPanelConfig privacyPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_privacy_tab_title, R.drawable.figure_privacy, 
R.string.firstrun_privacy_title, R.string.firstrun_privacy_message, 
R.string.firstrun_privacy_next);
+        public static final FirstrunTorPanelConfig torNetworkPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_tornetwork_tab_title, R.drawable.figure_network, 
R.string.firstrun_tornetwork_title, R.string.firstrun_tornetwork_message, 
R.string.firstrun_tornetwork_next);
+        public static final FirstrunTorPanelConfig secSettingsPanelConfig = 
new FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_secsettings_tab_title, R.drawable.figure_security, 
R.string.firstrun_secsettings_title, R.string.firstrun_secsettings_message, 
R.string.firstrun_secsettings_next);
+        public static final FirstrunTorPanelConfig tipsPanelConfig = new 
FirstrunTorPanelConfig(FirstrunPanel.class.getName(), 
R.string.firstrun_tips_tab_title, R.drawable.figure_experience, 
R.string.firstrun_tips_title, R.string.firstrun_tips_message, 
R.string.firstrun_tips_next);
+        public static final FirstrunTorPanelConfig onionServicesPanelConfig = 
new FirstrunTorPanelConfig(LastPanel.class.getName(), 
R.string.firstrun_onionservices_tab_title, R.drawable.figure_onion, 
R.string.firstrun_onionservices_title, R.string.firstrun_onionservices_message, 
R.string.firstrun_onionservices_next);
     }
 }
diff --git a/mobile/android/base/java/org/mozilla/gecko/firstrun/LastPanel.java 
b/mobile/android/base/java/org/mozilla/gecko/firstrun/LastPanel.java
index c4e4aa0dd96a..d68719fe7658 100644
--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/LastPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/LastPanel.java
@@ -24,16 +24,14 @@ public class LastPanel extends FirstrunPanel {
             final int imageRes = args.getInt(FirstrunPagerConfig.KEY_IMAGE);
             final int textRes = args.getInt(FirstrunPagerConfig.KEY_TEXT);
             final int subtextRes = 
args.getInt(FirstrunPagerConfig.KEY_SUBTEXT);
+            final int ctatextRes = 
args.getInt(FirstrunPagerConfig.KEY_CTATEXT);
 
             ((ImageView) 
root.findViewById(R.id.firstrun_image)).setImageResource(imageRes);
             ((TextView) 
root.findViewById(R.id.firstrun_text)).setText(textRes);
             ((TextView) 
root.findViewById(R.id.firstrun_subtext)).setText(subtextRes);
+            ((TextView) 
root.findViewById(R.id.firstrun_link)).setText(ctatextRes);
         }
 
-        TextView nextLink = (TextView) root.findViewById(R.id.firstrun_link);
-        nextLink.setText(R.string.firstrun_welcome_button_browser);
-        nextLink.setGravity(Gravity.CENTER);
-
         root.findViewById(R.id.firstrun_link).setOnClickListener(new 
View.OnClickListener() {
             @Override
             public void onClick(View v) {
diff --git a/mobile/android/base/locales/en-US/android_strings.dtd 
b/mobile/android/base/locales/en-US/android_strings.dtd
index b9181bb82e1b..d7cded48fda4 100644
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -45,21 +45,29 @@
 
 <!-- Location note: Tor First run messages -->
 <!ENTITY firstrun_welcome_tab_title "Welcome">
-<!ENTITY firstrun_welcome_title "You\'re ready">
-<!ENTITY firstrun_welcome_message "Tor Browser for Android offers the highest 
standard of privacy and security while browsing the web. You are now protected 
against tracking, surveillance, and censorship. Here\'s a quick onboarding 
about how it works.">
+<!ENTITY firstrun_welcome_title "You\'re ready.">
+<!ENTITY firstrun_welcome_message "Tor Browser offers the highest standard of 
privacy and security while browsing the web. You\'re now protected against 
tracking, surveillance, and censorship. This quick onboarding will show you 
how.">
+<!ENTITY firstrun_welcome_next "Start now">
 <!ENTITY firstrun_privacy_tab_title "Privacy">
-<!ENTITY firstrun_privacy_title "Snub trackers and snoopers">
-<!ENTITY firstrun_privacy_message "Tor Browser isolates each domain you visit. 
That means trackers and advertisers can’t follow you. And any information 
stored, such as isolated cookies or your browsing history, is deleted after 
your session. These modifications ensure your privacy is protected while 
you\'re browsing. Click \'Tor Network\' to learn how we protect you on the 
network level.">
+<!ENTITY firstrun_privacy_title "Snub trackers and snoopers.">
+<!ENTITY firstrun_privacy_message "Tor Browser isolates cookies and deletes 
your browser history after your session. These modifications ensure your 
privacy and security are protected in the browser. Click ‘Tor Network’ to 
learn how we protect you on the network level.">
+<!ENTITY firstrun_privacy_next "Go to Tor Network">
 <!ENTITY firstrun_tornetwork_tab_title "Tor Network">
-<!ENTITY firstrun_tornetwork_title "Travel a decentralized network">
-<!ENTITY firstrun_tornetwork_message "Tor Browser for Android routes your 
connection over the Tor network. Tor is a network of servers, we call them 
relays, run by thousands of volunteers all around the world. This way, there\'s 
no single point of failure and no centralized entity you need to trust in order 
to enjoy the internet, unlike when you use a VPN. For each domain you access, a 
new circuit through the network is created for you.">
+<!ENTITY firstrun_tornetwork_title "Travel a decentralized network.">
+<!ENTITY firstrun_tornetwork_message "Tor Browser connects you to the Tor 
network run by thousands of volunteers around the world. Unlike a VPN, there\'s 
no one point of failure or centralized entity you need to trust in order to 
enjoy the internet privately.">
+<!ENTITY firstrun_tornetwork_next "Next">
+<!ENTITY firstrun_secsettings_tab_title "Security">
+<!ENTITY firstrun_secsettings_title "Choose your experience.">
+<!ENTITY firstrun_secsettings_message "We also provide you with additional 
settings for bumping up your browser security. Our Security Settings allow you 
to block elements that could be used to attack your computer.">
+<!ENTITY firstrun_secsettings_next "Next">
 <!ENTITY firstrun_tips_tab_title "Tips">
-<!ENTITY firstrun_tips_title "Experience Tips">
-<!ENTITY firstrun_tips_message "With all the security and privacy features 
provided by the Tor Browser and the Tor network, your experience while browsing 
the internet will be a little bit different.  Since your connection is going 
through 3 relays around the world, things may run a bit slower than you\'re 
used to. Sometimes sites will ask you to prove you are a human, not a robot, 
and depending on your security options, some things might not work or load. Our 
goal is to always provide the best experience for our users while not lowering 
the bar on providing real privacy.">
-<!ENTITY firstrun_onionservices_tab_title "Onion Services">
-<!ENTITY firstrun_onionservices_title "Onion Services">
-<!ENTITY firstrun_onionservices_message "For enhanced privacy and security, 
sites ending in .onion are configured using the Tor network. Onion services 
provide extra protections to publishers and
-visitors, including added safeguards against censorship. The same way Tor 
Browser for Android allows you to browse the web with a high degree of privacy 
onion services allow people to provide content and services privately. You can 
access .onion sites using Tor Browser for Android.">
+<!ENTITY firstrun_tips_title "Experience Tips.">
+<!ENTITY firstrun_tips_message "With all the security and privacy features 
provided by Tor, your experience while browsing the internet may be a little 
different. Things may be a bit slower and depending on your security level, 
some elements may not work or load. You may also be asked to prove you are a 
human and not a robot.">
+<!ENTITY firstrun_tips_next "Next">
+<!ENTITY firstrun_onionservices_tab_title "Onions">
+<!ENTITY firstrun_onionservices_title "Onion Services.">
+<!ENTITY firstrun_onionservices_message "Onion services are sites that end 
with a .onion that provide extra protections to publishers and visitors, 
including added safeguards against censorship. Onion services allow anyone to 
provide content and services anonymously.">
+<!ENTITY firstrun_onionservices_next "Go to explore">
 
 <!ENTITY  onboard_start_restricted1 "Stay safe and in control with this 
simplified version of &brandShortName;.">
 
diff --git a/mobile/android/base/strings.xml.in 
b/mobile/android/base/strings.xml.in
index abf51ae53db6..cfc7b5a137f8 100644
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -54,22 +54,32 @@
   <string 
name="firstrun_welcome_tab_title">&firstrun_welcome_tab_title;</string>
   <string name="firstrun_welcome_title">&firstrun_welcome_title;</string>
   <string name="firstrun_welcome_message">&firstrun_welcome_message;</string>
+  <string name="firstrun_welcome_next">&firstrun_welcome_next;</string>
 
   <string 
name="firstrun_privacy_tab_title">&firstrun_privacy_tab_title;</string>
   <string name="firstrun_privacy_title">&firstrun_privacy_title;</string>
   <string name="firstrun_privacy_message">&firstrun_privacy_message;</string>
+  <string name="firstrun_privacy_next">&firstrun_privacy_next;</string>
 
   <string 
name="firstrun_tornetwork_tab_title">&firstrun_tornetwork_tab_title;</string>
   <string name="firstrun_tornetwork_title">&firstrun_tornetwork_title;</string>
   <string 
name="firstrun_tornetwork_message">&firstrun_tornetwork_message;</string>
+  <string name="firstrun_tornetwork_next">&firstrun_tornetwork_next;</string>
+
+  <string 
name="firstrun_secsettings_tab_title">&firstrun_secsettings_tab_title;</string>
+  <string 
name="firstrun_secsettings_title">&firstrun_secsettings_title;</string>
+  <string 
name="firstrun_secsettings_message">&firstrun_secsettings_message;</string>
+  <string name="firstrun_secsettings_next">&firstrun_secsettings_next;</string>
 
   <string name="firstrun_tips_tab_title">&firstrun_tips_tab_title;</string>
   <string name="firstrun_tips_title">&firstrun_tips_title;</string>
   <string name="firstrun_tips_message">&firstrun_tips_message;</string>
+  <string name="firstrun_tips_next">&firstrun_tips_next;</string>
 
   <string 
name="firstrun_onionservices_tab_title">&firstrun_onionservices_tab_title;</string>
   <string 
name="firstrun_onionservices_title">&firstrun_onionservices_title;</string>
   <string 
name="firstrun_onionservices_message">&firstrun_onionservices_message;</string>
+  <string 
name="firstrun_onionservices_next">&firstrun_onionservices_next;</string>
 
   <string name="bookmarks_title">&bookmarks_title;</string>
   <string name="history_title">&history_title;</string>
diff --git 
a/mobile/android/branding/torbrowser/res/drawable-nodpi/figure_security.png 
b/mobile/android/branding/torbrowser/res/drawable-nodpi/figure_security.png
new file mode 100644
index 000000000000..0a0d47f75370
Binary files /dev/null and 
b/mobile/android/branding/torbrowser/res/drawable-nodpi/figure_security.png 
differ

_______________________________________________
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to