diff --git a/android/src/com/mapswithme/maps/auth/Authorizer.java b/android/src/com/mapswithme/maps/auth/Authorizer.java index 3ca28e3e52..6bfb3d5965 100644 --- a/android/src/com/mapswithme/maps/auth/Authorizer.java +++ b/android/src/com/mapswithme/maps/auth/Authorizer.java @@ -39,7 +39,7 @@ public class Authorizer fragment.show(mFragment.getActivity().getSupportFragmentManager(), name); } - public final void onActivityResult(int requestCode, int resultCode, Intent data) + public final void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (requestCode != Constants.REQ_CODE_GET_SOCIAL_TOKEN || resultCode != Activity.RESULT_OK || data == null) diff --git a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java index 9114657043..c7dd8438c0 100644 --- a/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java +++ b/android/src/com/mapswithme/maps/bookmarks/BookmarkCategoriesAdapter.java @@ -33,12 +33,12 @@ public class BookmarkCategoriesAdapter extends BaseBookmarkCategoryAdapter + { + if (mListener != null) + mListener.onSignInClick(); + }; + @NonNull + private final View.OnClickListener mEnableClickListener = v -> + { + // TODO: comingsoon + }; + + + public BookmarkBackupController(@NonNull BookmarkBackupView backupView) + { + mBackupView = backupView; + update(); + } + + public void setListener(@Nullable BackupListener listener) + { + mListener = listener; + } + + private void update() + { + final Context context = mBackupView.getContext(); + boolean isAuthorized = Framework.nativeIsUserAuthenticated(); + if (!isAuthorized) + { + mBackupView.setMessage(context.getString(R.string.bookmarks_message_unauthorized_user)); + mBackupView.setButtonLabel(context.getString(R.string.authorization_button_sign_in)); + mBackupView.setClickListener(mSignInClickListener); + mBackupView.showButton(); + return; + } + + boolean isEnabled = false /** TODO: add real call here **/; + + if (isEnabled) + { + long backupTime = System.currentTimeMillis() /** TODO: use real timestamp here **/; + String msg; + if (backupTime > 0) + { + msg = context.getString(R.string.bookmarks_message_backuped_user, + DATE_FORMATTER.format(new Date(backupTime))); + } + else + { + msg = context.getString(R.string.bookmarks_message_unbackuped_user); + } + mBackupView.setMessage(msg); + mBackupView.hideButton(); + return; + } + + // If backup is disabled. + mBackupView.setMessage(context.getString(R.string.bookmarks_message_authorized_user)); + mBackupView.setButtonLabel(context.getString(R.string.bookmarks_backup)); + mBackupView.setClickListener(mEnableClickListener); + mBackupView.showButton(); + } + + public interface BackupListener + { + void onSignInClick(); + } +} diff --git a/android/src/com/mapswithme/maps/widget/BookmarkBackupView.java b/android/src/com/mapswithme/maps/widget/BookmarkBackupView.java index 1e8c39de4b..f03a490be1 100644 --- a/android/src/com/mapswithme/maps/widget/BookmarkBackupView.java +++ b/android/src/com/mapswithme/maps/widget/BookmarkBackupView.java @@ -34,7 +34,7 @@ public class BookmarkBackupView extends LinearLayout @NonNull private final OnClickListener mHeaderClickListener = v -> onHeaderClick(); - private boolean mExpanded = false; + private boolean mExpanded = true; public BookmarkBackupView(Context context) { @@ -78,8 +78,7 @@ public class BookmarkBackupView extends LinearLayout @NonNull private Animator createFadeInAnimator() { - ObjectAnimator animator = ObjectAnimator.ofFloat(mContentLayout, "alpha", - 0, 1f); + ObjectAnimator animator = ObjectAnimator.ofFloat(mContentLayout, "alpha", 0, 1f); animator.addListener(new AnimatorListenerAdapter() { @Override @@ -101,8 +100,7 @@ public class BookmarkBackupView extends LinearLayout @NonNull private Animator createFadeOutAnimator() { - ObjectAnimator animator = ObjectAnimator.ofFloat(mContentLayout, "alpha", - 1f, 0); + ObjectAnimator animator = ObjectAnimator.ofFloat(mContentLayout, "alpha", 1f, 0); animator.addListener(new AnimatorListenerAdapter() { @Override @@ -141,6 +139,16 @@ public class BookmarkBackupView extends LinearLayout button.setText(label); } + public void hideButton() + { + UiUtils.hide(mContentLayout, R.id.button); + } + + public void showButton() + { + UiUtils.show(mContentLayout, R.id.button); + } + public void setClickListener(@Nullable OnClickListener listener) { mContentLayout.findViewById(R.id.button).setOnClickListener(listener);