diff --git a/android/res/layout-land/fragment_permissions.xml b/android/res/layout-land/fragment_permissions.xml
deleted file mode 100644
index 888577fb5e..0000000000
--- a/android/res/layout-land/fragment_permissions.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/res/layout-land/fragment_storage_permissions.xml b/android/res/layout-land/fragment_storage_permissions.xml
deleted file mode 100644
index 796aa0f3b9..0000000000
--- a/android/res/layout-land/fragment_storage_permissions.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/res/layout-land/fragment_welcome.xml b/android/res/layout-land/fragment_welcome.xml
deleted file mode 100644
index 5c813dedeb..0000000000
--- a/android/res/layout-land/fragment_welcome.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/res/layout-land/info_page.xml b/android/res/layout-land/info_page.xml
new file mode 100644
index 0000000000..01bc9edafd
--- /dev/null
+++ b/android/res/layout-land/info_page.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/res/layout-sw600dp-land/info_page.xml b/android/res/layout-sw600dp-land/info_page.xml
new file mode 100644
index 0000000000..01bc9edafd
--- /dev/null
+++ b/android/res/layout-sw600dp-land/info_page.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/res/layout-sw600dp/info_page.xml b/android/res/layout-sw600dp/info_page.xml
new file mode 100644
index 0000000000..60ccda04a6
--- /dev/null
+++ b/android/res/layout-sw600dp/info_page.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
diff --git a/android/res/layout/activity_splash.xml b/android/res/layout/activity_splash.xml
index 076596ab23..e40493d687 100644
--- a/android/res/layout/activity_splash.xml
+++ b/android/res/layout/activity_splash.xml
@@ -1,14 +1,32 @@
-
+ android:layout_height="match_parent">
+
+
-
+ android:src="@drawable/img_logo"
+ android:layout_above="@id/anchor_center"
+ android:layout_centerHorizontal="true"/>
+
+
+
diff --git a/android/res/layout/fragment_permissions.xml b/android/res/layout/fragment_permissions.xml
index 8f78ed1178..300ee0ed24 100644
--- a/android/res/layout/fragment_permissions.xml
+++ b/android/res/layout/fragment_permissions.xml
@@ -4,48 +4,11 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
-
-
-
-
-
-
-
+ android:layout_above="@+id/btn_frame"/>
-
-
-
-
-
-
-
+ android:layout_above="@+id/btn_frame"/>
-
-
-
-
-
-
-
-
+ android:layout_above="@+id/btn_frame"/>
+
+
+
+
+
+
+
+
diff --git a/android/res/layout/item_permissions_note.xml b/android/res/layout/item_permissions_note.xml
index 6f02d5c8f7..713c667b84 100644
--- a/android/res/layout/item_permissions_note.xml
+++ b/android/res/layout/item_permissions_note.xml
@@ -6,7 +6,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/margin_double"
- android:paddingRight="@dimen/margin_double">
+ android:paddingRight="@dimen/margin_double"
+ android:paddingTop="@dimen/permissions_title_note_margin">
+ android:paddingTop="@dimen/permissions_title_top_margin"
+ android:paddingBottom="@dimen/permissions_title_bottom_margin">
128dp
52dp
- @dimen/margin_base
+ @dimen/margin_half
+ @dimen/margin_half
+ @dimen/margin_half
+ 200dp
\ No newline at end of file
diff --git a/android/res/values-sw600dp-land/dimens.xml b/android/res/values-sw600dp-land/dimens.xml
new file mode 100644
index 0000000000..4c316e94ac
--- /dev/null
+++ b/android/res/values-sw600dp-land/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 360dp
+
\ No newline at end of file
diff --git a/android/res/values-sw600dp/dimens.xml b/android/res/values-sw600dp/dimens.xml
index 865441e1c3..e12c25c085 100644
--- a/android/res/values-sw600dp/dimens.xml
+++ b/android/res/values-sw600dp/dimens.xml
@@ -9,4 +9,5 @@
80dp
480dp
+ 360dp
diff --git a/android/res/values/dimens.xml b/android/res/values/dimens.xml
index b8de56136c..1752e1089f 100644
--- a/android/res/values/dimens.xml
+++ b/android/res/values/dimens.xml
@@ -191,6 +191,9 @@
72dp
80dp
- @dimen/margin_double
+ @dimen/margin_base
+ @dimen/margin_base
+ @dimen/margin_base
@dimen/match_parent
+ 240dp
diff --git a/android/src/com/mapswithme/maps/SplashActivity.java b/android/src/com/mapswithme/maps/SplashActivity.java
index a9d75489fa..3717dc1c14 100644
--- a/android/src/com/mapswithme/maps/SplashActivity.java
+++ b/android/src/com/mapswithme/maps/SplashActivity.java
@@ -37,6 +37,7 @@ public class SplashActivity extends AppCompatActivity
private static boolean sFirstStart;
private View mIvLogo;
+ private View mAppName;
private boolean mPermissionsGranted;
private boolean mNeedStoragePermission;
@@ -174,7 +175,7 @@ public class SplashActivity extends AppCompatActivity
if (sFirstStart)
{
PushwooshHelper.nativeProcessFirstLaunch();
- UiUtils.hide(mIvLogo);
+ UiUtils.hide(mIvLogo, mAppName);
return;
}
@@ -183,7 +184,7 @@ public class SplashActivity extends AppCompatActivity
{
if (ViralFragment.shouldDisplay())
{
- UiUtils.hide(mIvLogo);
+ UiUtils.hide(mIvLogo, mAppName);
ViralFragment dialog = new ViralFragment();
dialog.onDismiss(new DialogInterface()
{
@@ -208,7 +209,7 @@ public class SplashActivity extends AppCompatActivity
}
else
{
- UiUtils.hide(mIvLogo);
+ UiUtils.hide(mIvLogo, mAppName);
}
}
@@ -236,6 +237,7 @@ public class SplashActivity extends AppCompatActivity
UiUtils.setupStatusBar(this);
setContentView(R.layout.activity_splash);
mIvLogo = findViewById(R.id.iv__logo);
+ mAppName = findViewById(R.id.tv__app_name);
}
private void init()
diff --git a/android/src/com/mapswithme/maps/news/FirstStartFragment.java b/android/src/com/mapswithme/maps/news/FirstStartFragment.java
deleted file mode 100644
index 32d0a8227d..0000000000
--- a/android/src/com/mapswithme/maps/news/FirstStartFragment.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.mapswithme.maps.news;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentManager;
-
-import com.mapswithme.maps.BuildConfig;
-import com.mapswithme.maps.R;
-import com.mapswithme.maps.location.LocationHelper;
-import com.mapswithme.util.Counters;
-
-public class FirstStartFragment extends BaseNewsFragment
-{
- private class Adapter extends BaseNewsFragment.Adapter
- {
- @Override
- int getTitles()
- {
- return R.array.first_start_titles;
- }
-
- @Override
- int getSubtitles1()
- {
- return R.array.first_start_subtitles;
- }
-
- @Override
- int getSubtitles2()
- {
- return 0;
- }
-
- @Override
- int getSwitchTitles()
- {
- return R.array.first_start_switch_titles;
- }
-
- @Override
- int getSwitchSubtitles()
- {
- return R.array.first_start_switch_subtitles;
- }
-
- @Override
- int getImages()
- {
- return R.array.first_start_images;
- }
- }
-
- @Override
- BaseNewsFragment.Adapter createAdapter()
- {
- return new Adapter();
- }
-
- @NonNull
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState)
- {
- LocationHelper.INSTANCE.onEnteredIntoFirstRun();
- return super.onCreateDialog(savedInstanceState);
- }
-
- public static boolean showOn(@NonNull FragmentActivity activity,
- @Nullable NewsDialogListener listener)
- {
- if (Counters.getFirstInstallVersion() < BuildConfig.VERSION_CODE)
- return false;
-
- FragmentManager fm = activity.getSupportFragmentManager();
- if (fm.isDestroyed())
- return false;
-
- if (Counters.isFirstStartDialogSeen() &&
- !recreate(activity, FirstStartFragment.class))
- return false;
-
- create(activity, FirstStartFragment.class, listener);
-
- Counters.setFirstStartDialogSeen();
- return true;
- }
-}
diff --git a/android/src/com/mapswithme/maps/news/WelcomeDialogFragment.java b/android/src/com/mapswithme/maps/news/WelcomeDialogFragment.java
index b8d293add3..c4a05f7d55 100644
--- a/android/src/com/mapswithme/maps/news/WelcomeDialogFragment.java
+++ b/android/src/com/mapswithme/maps/news/WelcomeDialogFragment.java
@@ -11,6 +11,7 @@ import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.Window;
+import android.widget.ImageView;
import android.widget.TextView;
import com.mapswithme.maps.BuildConfig;
@@ -18,6 +19,7 @@ import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmDialogFragment;
import com.mapswithme.maps.location.LocationHelper;
import com.mapswithme.util.Counters;
+import com.mapswithme.util.UiUtils;
public class WelcomeDialogFragment extends BaseMwmDialogFragment implements View.OnClickListener
{
@@ -81,6 +83,8 @@ public class WelcomeDialogFragment extends BaseMwmDialogFragment implements View
public Dialog onCreateDialog(Bundle savedInstanceState)
{
LocationHelper.INSTANCE.onEnteredIntoFirstRun();
+ if (!LocationHelper.INSTANCE.isActive())
+ LocationHelper.INSTANCE.start();
Dialog res = super.onCreateDialog(savedInstanceState);
res.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -89,7 +93,14 @@ public class WelcomeDialogFragment extends BaseMwmDialogFragment implements View
View content = View.inflate(getActivity(), R.layout.fragment_welcome, null);
res.setContentView(content);
content.findViewById(R.id.btn__continue).setOnClickListener(this);
- TextView terms = (TextView) content.findViewById(R.id.tv__terms_and_privacy);
+ ImageView image = (ImageView) content.findViewById(R.id.iv__image);
+ image.setImageResource(R.drawable.img_welcome);
+ TextView title = (TextView) content.findViewById(R.id.tv__title);
+ title.setText(R.string.onboarding_welcome_title);
+ TextView subtitle = (TextView) content.findViewById(R.id.tv__subtitle1);
+ subtitle.setText(R.string.onboarding_welcome_first_subtitle);
+ TextView terms = (TextView) content.findViewById(R.id.tv__subtitle2);
+ UiUtils.show(terms);
terms.setText(Html.fromHtml(getString(R.string.onboarding_welcome_second_subtitle)));
terms.setMovementMethod(LinkMovementMethod.getInstance());
diff --git a/android/src/com/mapswithme/maps/permissions/BasePermissionsDialogFragment.java b/android/src/com/mapswithme/maps/permissions/BasePermissionsDialogFragment.java
index 713c51d7c8..64f44743b9 100644
--- a/android/src/com/mapswithme/maps/permissions/BasePermissionsDialogFragment.java
+++ b/android/src/com/mapswithme/maps/permissions/BasePermissionsDialogFragment.java
@@ -2,17 +2,22 @@ package com.mapswithme.maps.permissions;
import android.app.Dialog;
import android.os.Bundle;
+import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.view.Window;
+import android.widget.ImageView;
+import android.widget.TextView;
+import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmDialogFragment;
import com.mapswithme.util.PermissionsUtils;
@@ -92,9 +97,37 @@ abstract class BasePermissionsDialogFragment extends BaseMwmDialogFragment
if (button != null)
button.setOnClickListener(this);
+ ImageView image = (ImageView) content.findViewById(R.id.iv__image);
+ if (image != null)
+ image.setImageResource(getImageRes());
+ TextView title = (TextView) content.findViewById(R.id.tv__title);
+ if (title != null)
+ title.setText(getTitleRes());
+ TextView subtitle = (TextView) content.findViewById(R.id.tv__subtitle1);
+ if (subtitle != null)
+ subtitle.setText(getSubtitleRes());
+
return res;
}
+ @DrawableRes
+ protected int getImageRes()
+ {
+ return 0;
+ }
+
+ @StringRes
+ protected int getTitleRes()
+ {
+ return 0;
+ }
+
+ @StringRes
+ protected int getSubtitleRes()
+ {
+ return 0;
+ }
+
@LayoutRes
abstract protected int getLayoutRes();
diff --git a/android/src/com/mapswithme/maps/permissions/PermissionsDialogFragment.java b/android/src/com/mapswithme/maps/permissions/PermissionsDialogFragment.java
index 1cf72a8c81..bb13fe2209 100644
--- a/android/src/com/mapswithme/maps/permissions/PermissionsDialogFragment.java
+++ b/android/src/com/mapswithme/maps/permissions/PermissionsDialogFragment.java
@@ -1,10 +1,12 @@
package com.mapswithme.maps.permissions;
import android.os.Bundle;
+import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
@@ -44,6 +46,27 @@ public class PermissionsDialogFragment extends BasePermissionsDialogFragment
mDetailDialog = (DialogFragment) f;
}
+ @DrawableRes
+ @Override
+ protected int getImageRes()
+ {
+ return R.drawable.img_permissions;
+ }
+
+ @StringRes
+ @Override
+ protected int getTitleRes()
+ {
+ return R.string.onboarding_permissions_title;
+ }
+
+ @StringRes
+ @Override
+ protected int getSubtitleRes()
+ {
+ return R.string.onboarding_permissions_message;
+ }
+
@LayoutRes
@Override
protected int getLayoutRes()
diff --git a/android/src/com/mapswithme/maps/permissions/StoragePermissionsDialogFragment.java b/android/src/com/mapswithme/maps/permissions/StoragePermissionsDialogFragment.java
index 3ba82ac657..de8256a994 100644
--- a/android/src/com/mapswithme/maps/permissions/StoragePermissionsDialogFragment.java
+++ b/android/src/com/mapswithme/maps/permissions/StoragePermissionsDialogFragment.java
@@ -13,6 +13,8 @@ import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.view.Window;
+import android.widget.ImageView;
+import android.widget.TextView;
import com.mapswithme.maps.R;
import com.mapswithme.maps.SplashActivity;
@@ -65,6 +67,12 @@ public class StoragePermissionsDialogFragment extends BaseMwmDialogFragment impl
res.setContentView(content);
content.findViewById(R.id.btn__exit).setOnClickListener(this);
content.findViewById(R.id.btn__settings).setOnClickListener(this);
+ ImageView image = (ImageView) content.findViewById(R.id.iv__image);
+ image.setImageResource(R.drawable.img_no_storage_permission);
+ TextView title = (TextView) content.findViewById(R.id.tv__title);
+ title.setText(R.string.onboarding_storage_permissions_title);
+ TextView subtitle = (TextView) content.findViewById(R.id.tv__subtitle1);
+ subtitle.setText(R.string.onboarding_storage_permissions_message);
return res;
}