|
@@ -4,27 +4,21 @@ import android.content.Context;
|
|
|
import android.graphics.Color;
|
|
|
import android.text.SpannableString;
|
|
|
import android.text.Spanned;
|
|
|
+import android.text.method.LinkMovementMethod;
|
|
|
+import android.text.style.ClickableSpan;
|
|
|
import android.text.style.ForegroundColorSpan;
|
|
|
+import android.text.style.UnderlineSpan;
|
|
|
import android.view.View;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
-import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
|
|
-import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
|
import com.lxj.xpopup.core.BottomPopupView;
|
|
|
|
|
|
-import org.telegram.cricdit.adapter.ReportAdapter;
|
|
|
-import org.telegram.cricdit.bean.ReportBean;
|
|
|
import org.telegram.cricdit.utils.SPUtils;
|
|
|
-import org.telegram.cricdit.utils.ToastUtil;
|
|
|
-import org.telegram.messenger.AndroidUtilities;
|
|
|
+import org.telegram.messenger.LocaleController;
|
|
|
import org.telegram.messenger.R;
|
|
|
-import org.telegram.ui.ActionBar.AlertDialog;
|
|
|
-
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
|
|
|
public class PrivacyPolicyPopup extends BottomPopupView {
|
|
|
|
|
@@ -52,16 +46,8 @@ public class PrivacyPolicyPopup extends BottomPopupView {
|
|
|
mDecline = findViewById(R.id.privacy_policy_decline);
|
|
|
mContent = findViewById(R.id.privacy_policy_content);
|
|
|
|
|
|
- String srcStr = "Read our Privacy Policy. Tap 'Agree and continue' to use";
|
|
|
- String keyStr = "Privacy Policy";
|
|
|
- hightStr(mContent, srcStr, keyStr);
|
|
|
-
|
|
|
- mContent.setOnClickListener(v -> {
|
|
|
- if (mOnContentClickListener != null) {
|
|
|
- dismiss();
|
|
|
- mOnContentClickListener.clickContent();
|
|
|
- }
|
|
|
- });
|
|
|
+ mContent.setText(getClickableSpan());
|
|
|
+ mContent.setMovementMethod(LinkMovementMethod.getInstance());
|
|
|
|
|
|
mConfirm.setOnClickListener(v -> {
|
|
|
dismiss();
|
|
@@ -76,19 +62,6 @@ public class PrivacyPolicyPopup extends BottomPopupView {
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void hightStr(TextView titleText, String srcString, String hlStr) {
|
|
|
- titleText.setText("");
|
|
|
- String hlLower = hlStr.toLowerCase();
|
|
|
- int lastEnd = 0;
|
|
|
- SpannableString spannableString = new SpannableString(srcString);
|
|
|
- for (int i = 0; i <= srcString.length() - hlStr.length(); i++) {
|
|
|
- if (srcString.substring(i, i + hlStr.length()).toLowerCase().equals(hlLower)) {
|
|
|
- spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#4c8eca")), i, i + hlStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
- }
|
|
|
- }
|
|
|
- titleText.append(spannableString);
|
|
|
- }
|
|
|
-
|
|
|
private OnContentClickListener mOnContentClickListener;
|
|
|
|
|
|
public void setOnContentClickListener(OnContentClickListener onContentClickListener) {
|
|
@@ -97,10 +70,58 @@ public class PrivacyPolicyPopup extends BottomPopupView {
|
|
|
|
|
|
public interface OnContentClickListener {
|
|
|
|
|
|
- void clickContent();
|
|
|
+ void clickContent(int i);
|
|
|
|
|
|
void decline();
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //设置超链接文字
|
|
|
+ private SpannableString getClickableSpan() {
|
|
|
+
|
|
|
+ String str1 = LocaleController.getString(R.string.CdReadOur) + " ";
|
|
|
+ String str2 = LocaleController.getString(R.string.CdPrivacyPolicy);
|
|
|
+ String str3 = LocaleController.getString(R.string.CdAgree) + " ";
|
|
|
+ String str4 = LocaleController.getString(R.string.CdTOS);
|
|
|
+
|
|
|
+ int privacyLengthStart = str1.length();
|
|
|
+ int privacyLengthEnd = str1.length() + str2.length();
|
|
|
+
|
|
|
+ int serviceLengthStart = str1.length() + str2.length() + str3.length();
|
|
|
+ int serviceLengthEnd = str1.length() + str2.length() + str3.length() + str4.length();
|
|
|
+
|
|
|
+
|
|
|
+ SpannableString spanStr = new SpannableString(str1 + str2 + str3 + str4);
|
|
|
+ //设置下划线文字
|
|
|
+// spanStr.setSpan(new UnderlineSpan(), privacyLengthStart, privacyLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ //设置文字的单击事件
|
|
|
+ spanStr.setSpan(new ClickableSpan() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View widget) {
|
|
|
+ if (mOnContentClickListener != null) {
|
|
|
+ dismiss();
|
|
|
+ mOnContentClickListener.clickContent(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, privacyLengthStart, privacyLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ //设置文字的前景色
|
|
|
+ spanStr.setSpan(new ForegroundColorSpan(getContext().getResources().getColor(R.color.colorBlue)), privacyLengthStart, privacyLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ //设置下划线文字
|
|
|
+// spanStr.setSpan(new UnderlineSpan(), serviceLengthStart, serviceLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ //设置文字的单击事件
|
|
|
+ spanStr.setSpan(new ClickableSpan() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View widget) {
|
|
|
+ if (mOnContentClickListener != null) {
|
|
|
+ dismiss();
|
|
|
+ mOnContentClickListener.clickContent(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, serviceLengthStart, serviceLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ //设置文字的前景色
|
|
|
+ spanStr.setSpan(new ForegroundColorSpan(getContext().getResources().getColor(R.color.colorBlue)), serviceLengthStart, serviceLengthEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
+ return spanStr;
|
|
|
+ }
|
|
|
}
|