Bug 1393672 - fix per ux input
MozReview-Commit-ID: C7nutlXNMzW
new file mode 100644
--- /dev/null
+++ b/mobile/android/app/src/main/res/drawable/pwa_ob_bg.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle" >
+ <solid android:color="@color/photon_browser_toolbar_bg" />
+ <corners
+ android:radius="@dimen/standard_corner_radius" />
+</shape>
--- a/mobile/android/app/src/main/res/layout/pwa_onboarding.xml
+++ b/mobile/android/app/src/main/res/layout/pwa_onboarding.xml
@@ -1,25 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<org.mozilla.gecko.toolbar.PwaOnboarding xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pwa_onboarding_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CCBBBBBB"
android:clickable="true"
- android:orientation="vertical"
- android:paddingBottom="50dp"
- android:paddingEnd="30dp"
- android:paddingStart="30dp"
- android:paddingTop="50dp">
+ android:orientation="vertical">
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="#fff"
+ style="@style/PwaObPrompt"
+ android:layout_centerInParent="true"
+ android:background="@drawable/pwa_ob_bg"
android:clickable="true"
android:orientation="vertical"
android:weightSum="10">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.8" />
@@ -40,34 +36,36 @@
<TextView
android:id="@+id/pwa_onboarding_sumo"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="20dp"
android:layout_marginStart="20dp"
android:layout_weight="3"
- android:text="You can easily add this website to
-your Home screen to have instant
-access and browse faster with an
-app-like experience."
- android:textSize="13sp" />
+ android:textColor="@color/ob_subtitle"
+
+ android:textSize="16sp" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.6" />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#e5e5e5" />
+
<TextView
android:id="@+id/pwa_onboarding_dismiss"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:layout_weight="1"
+ android:minHeight="50dp"
+ android:layout_weight="1.3"
android:gravity="center"
- android:minHeight="48dp"
-
android:text="Continue to Website"
android:textAllCaps="true"
android:textColor="@color/photon_highlight"
android:textStyle="bold" />
</LinearLayout>
</org.mozilla.gecko.toolbar.PwaOnboarding>
\ No newline at end of file
--- a/mobile/android/app/src/photon/res/values-land/styles.xml
+++ b/mobile/android/app/src/photon/res/values-land/styles.xml
@@ -9,9 +9,15 @@
<style name="TabsItem">
<item name="android:nextFocusDown">@+id/close</item>
</style>
<style name="TabsItemClose">
<item name="android:nextFocusUp">@+id/info</item>
</style>
+ <style name="PwaObPrompt">
+ <item name="android:layout_width">320dp</item>
+ <item name="android:layout_height">wrap_content</item>
+
+ </style>
+
</resources>
--- a/mobile/android/app/src/photon/res/values/styles.xml
+++ b/mobile/android/app/src/photon/res/values/styles.xml
@@ -937,10 +937,18 @@
<item name="android:layout_marginLeft">12dp</item>
<item name="android:layout_marginRight">8dp</item>
</style>
<style name="PwaConfirm">
<item name="android:layout_width">match_parent</item>
</style>
+ <style name="PwaObPrompt">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">match_parent</item>
+ <item name="android:layout_marginBottom">50dp</item>
+ <item name="android:layout_marginEnd">30dp</item>
+ <item name="android:layout_marginStart">30dp</item>
+ <item name="android:layout_marginTop">50dp</item>
+ </style>
</resources>
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -145,16 +145,17 @@ import org.mozilla.gecko.tabs.TabHistory
import org.mozilla.gecko.tabs.TabsPanel;
import org.mozilla.gecko.telemetry.TelemetryCorePingDelegate;
import org.mozilla.gecko.telemetry.TelemetryUploadService;
import org.mozilla.gecko.telemetry.measurements.SearchCountMeasurements;
import org.mozilla.gecko.toolbar.AutocompleteHandler;
import org.mozilla.gecko.toolbar.BrowserToolbar;
import org.mozilla.gecko.toolbar.BrowserToolbar.TabEditingState;
import org.mozilla.gecko.toolbar.PageActionLayout;
+import org.mozilla.gecko.toolbar.PwaOnboarding;
import org.mozilla.gecko.trackingprotection.TrackingProtectionPrompt;
import org.mozilla.gecko.updater.PostUpdateHandler;
import org.mozilla.gecko.updater.UpdateServiceHelper;
import org.mozilla.gecko.util.ActivityUtils;
import org.mozilla.gecko.util.Clipboard;
import org.mozilla.gecko.util.ContextUtils;
import org.mozilla.gecko.util.DrawableUtil;
import org.mozilla.gecko.util.EventCallback;
@@ -1175,17 +1176,17 @@ public class BrowserApp extends GeckoApp
if (urls != null) {
openUrls(urls);
}
}
@Override
public void onResume() {
super.onResume();
-
+ PwaOnboarding.show(this);
if (mIsAbortingAppLaunch) {
return;
}
if (!mHasResumed) {
getAppEventDispatcher().unregisterUiThreadListener(this, "Prompt:ShowTop");
mHasResumed = true;
}
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/PageActionLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/PageActionLayout.java
@@ -116,29 +116,31 @@ public class PageActionLayout extends Th
if ("PageActions:Add".equals(event)) {
final String id = message.getString("id");
boolean alreadyAdded = isPwaAdded(id);
if (alreadyAdded) {
return;
}
-
- maybeShowOnboarding();
+ // test
+ PwaOnboarding.show(getContext());
+ // test
final String title = message.getString("title");
final String imageURL = message.getString("icon");
final boolean important = message.getBoolean("important");
final boolean useTint = message.getBoolean("useTint");
addPageAction(id, title, imageURL, useTint, new OnPageActionClickListeners() {
@Override
public void onClick(final String id) {
if (id != null && id.equals(PageAction.UUID_PAGE_ACTION_PWA)) {
mPwaConfirm = PwaConfirm.show(getContext());
+ maybeShowOnboarding();
return;
}
final GeckoBundle data = new GeckoBundle(1);
data.putString("id", id);
EventDispatcher.getInstance().dispatch("PageActions:Clicked", data);
}
@Override
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/PwaConfirm.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/PwaConfirm.java
@@ -27,17 +27,17 @@ public class PwaConfirm extends Relative
boolean isAnimating = false;
public static PwaConfirm show(Context context) {
if (context instanceof Activity) {
final ViewGroup contetView = (ViewGroup) ((Activity) context).findViewById(R.id.gecko_layout);
final View oldPwaConfirm = contetView.findViewById(R.id.pwa_confirm_root);
- if ((oldPwaConfirm !=null)) {
+ if ((oldPwaConfirm != null)) {
// prevent this view to be added twice.
return (PwaConfirm) oldPwaConfirm;
}
View parent = LayoutInflater.from(context).inflate(R.layout.pwa_confirm, contetView);
final PwaConfirm pwaConfirm = (PwaConfirm) parent.findViewById(R.id.pwa_confirm_root);
pwaConfirm.appear();
return pwaConfirm;
}
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/PwaOnboarding.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/PwaOnboarding.java
@@ -8,21 +8,22 @@ import android.app.Activity;
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
import org.mozilla.gecko.R;
import org.mozilla.gecko.Tabs;
-public class PwaOnboarding extends LinearLayout {
+public class PwaOnboarding extends RelativeLayout {
static final String LINK_PWA_SUMO = "http://pwa.rocks";
public static void show(Context context) {
if (context instanceof Activity) {
final ViewGroup contetView = (ViewGroup) ((Activity) context).findViewById(android.R.id.content);
LayoutInflater.from(context).inflate(R.layout.pwa_onboarding, contetView);
}
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -848,8 +848,10 @@ is simply hidden from the Activity Strea
<!ENTITY activity_stream_delete_history "Delete from History">
<!ENTITY private_tab_panel_title "Private Browsing + Tracking Protection">
<!ENTITY private_tab_panel_description "&brandShortName; blocks parts of the pages that may track your browsing activity.">
<!ENTITY private_tab_panel_description2 "We won\'t remember any history, but downloaded files and new bookmarks will still be saved to your device.">
<!ENTITY private_tab_learn_more "Want to learn more?">
<!ENTITY fullscreen_warning "Entered full screen">
+<!ENTITY pwa_ob_desc "You can easily add this website to\nyour Home screen to have instant\naccess and browse faster with an\napp-like experience.">
+<!ENTITY pwa_ob_sumo "https://support.mozilla.org/">
\ No newline at end of file
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -924,16 +924,17 @@ gbjar.sources += ['java/org/mozilla/geck
'toolbar/BackButton.java',
'toolbar/BrowserToolbar.java',
'toolbar/BrowserToolbarPhone.java',
'toolbar/BrowserToolbarPhoneBase.java',
'toolbar/CanvasDelegate.java',
'toolbar/NavButton.java',
'toolbar/PageActionLayout.java',
'toolbar/PhoneTabsButton.java',
+ 'toolbar/PwaConfirm.java',
'toolbar/PwaOnboarding.java',
'toolbar/SecurityModeUtil.java',
'toolbar/ShapedButton.java',
'toolbar/ShapedButtonFrameLayout.java',
'toolbar/SiteIdentityPopup.java',
'toolbar/ToolbarEditLayout.java',
'toolbar/ToolbarEditText.java',
'toolbar/ToolbarPrefs.java',