forked from organicmaps/organicmaps
Use placeholders instead of hardcoded links for ToF and PP
This commit is contained in:
parent
1d0683179a
commit
13f6113a54
5 changed files with 34 additions and 10 deletions
|
@ -4,10 +4,13 @@ import android.app.Activity;
|
|||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.IdRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -142,7 +145,12 @@ public class SocialAuthDialogFragment extends BaseMwmDialogFragment
|
|||
R.id.google_button, R.id.facebook_button, R.id.phone_button);
|
||||
});
|
||||
|
||||
linkifyPolicyViews(view, R.id.privacyPolicyLink, R.id.termOfUseLink);
|
||||
linkifyPolicyView(view, R.id.privacyPolicyLink, R.string.sign_agree_pp_gdpr,
|
||||
Framework.nativeGetPrivacyPolicyLink());
|
||||
|
||||
linkifyPolicyView(view, R.id.termOfUseLink, R.string.sign_agree_tof_gdpr,
|
||||
Framework.nativeGetTermsOfUseLink());
|
||||
|
||||
setButtonAvailability(view, false, R.id.google_button, R.id.facebook_button,
|
||||
R.id.phone_button);
|
||||
return view;
|
||||
|
@ -155,13 +163,13 @@ public class SocialAuthDialogFragment extends BaseMwmDialogFragment
|
|||
button.setOnClickListener(clickListener);
|
||||
}
|
||||
|
||||
private static void linkifyPolicyViews(@NonNull View root, @IdRes int... ids)
|
||||
private static void linkifyPolicyView(@NonNull View root, @IdRes int id, @StringRes int stringId,
|
||||
@NonNull String link)
|
||||
{
|
||||
for (int id : ids)
|
||||
{
|
||||
TextView policyView = root.findViewById(id);
|
||||
policyView.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
TextView policyView = root.findViewById(id);
|
||||
Resources rs = policyView.getResources();
|
||||
policyView.setText(Html.fromHtml(rs.getString(stringId, link)));
|
||||
policyView.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
private static void setButtonAvailability(@NonNull View root, boolean available, @IdRes int... ids)
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.mapswithme.maps.news;
|
|||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
@ -16,6 +17,7 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.mapswithme.maps.BuildConfig;
|
||||
import com.mapswithme.maps.Framework;
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmDialogFragment;
|
||||
import com.mapswithme.maps.location.LocationHelper;
|
||||
|
@ -116,7 +118,9 @@ public class WelcomeDialogFragment extends BaseMwmDialogFragment implements View
|
|||
subtitle.setText(R.string.onboarding_welcome_first_subtitle);
|
||||
TextView terms = (TextView) content.findViewById(R.id.tv__subtitle2);
|
||||
UiUtils.show(terms);
|
||||
terms.setText(R.string.onboarding_welcome_second_subtitle);
|
||||
Resources rs = content.getResources();
|
||||
terms.setText(Html.fromHtml(rs.getString(R.string.onboarding_welcome_second_subtitle,
|
||||
Framework.nativeGetTermsOfUseLink(), Framework.nativeGetPrivacyPolicyLink())));
|
||||
terms.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
return res;
|
||||
|
|
|
@ -153,7 +153,7 @@ final class AuthorizationViewController: MWMViewController {
|
|||
|
||||
@IBOutlet private weak var privacyPolicyTextView: UITextView! {
|
||||
didSet {
|
||||
let htmlString = L("sign_agree_pp_gdpr")
|
||||
let htmlString = String(coreFormat: L("sign_agree_pp_gdpr"), arguments: [ViewModel.privacyPolicyLink()])
|
||||
let attributes: [NSAttributedStringKey : Any] = [NSAttributedStringKey.font: UIFont.regular16(),
|
||||
NSAttributedStringKey.foregroundColor: UIColor.blackPrimaryText()]
|
||||
privacyPolicyTextView.attributedText = NSAttributedString.string(withHtml: htmlString,
|
||||
|
@ -164,7 +164,7 @@ final class AuthorizationViewController: MWMViewController {
|
|||
|
||||
@IBOutlet private weak var termsOfUseTextView: UITextView! {
|
||||
didSet {
|
||||
let htmlString = L("sign_agree_tof_gdpr")
|
||||
let htmlString = String(coreFormat: L("sign_agree_tof_gdpr"), arguments: [ViewModel.termsOfUseLink()])
|
||||
let attributes: [NSAttributedStringKey : Any] = [NSAttributedStringKey.font: UIFont.regular16(),
|
||||
NSAttributedStringKey.foregroundColor: UIColor.blackPrimaryText()]
|
||||
termsOfUseTextView.attributedText = NSAttributedString.string(withHtml: htmlString,
|
||||
|
|
|
@ -27,5 +27,7 @@ typedef void (^MWMAuthorizationCompleteBlock)(BOOL);
|
|||
promoAccepted:(BOOL)promoAccepted
|
||||
source:(MWMAuthorizationSource)source
|
||||
onComplete:(MWMAuthorizationCompleteBlock _Nonnull)onComplete;
|
||||
+ (NSString * _Nonnull)termsOfUseLink;
|
||||
+ (NSString * _Nonnull)privacyPolicyLink;
|
||||
|
||||
@end
|
||||
|
|
|
@ -69,4 +69,14 @@
|
|||
termsAccepted, promoAccepted);
|
||||
}
|
||||
|
||||
+ (NSString * _Nonnull)termsOfUseLink
|
||||
{
|
||||
return @(User::GetTermsOfUseLink().c_str());
|
||||
}
|
||||
|
||||
+ (NSString * _Nonnull)privacyPolicyLink
|
||||
{
|
||||
return @(User::GetPrivacyPolicyLink().c_str());
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Loading…
Add table
Reference in a new issue