2013-10-25 17:19:00 +02:00
|
|
|
/*
|
2019-01-23 18:03:33 +01:00
|
|
|
* This is the source code of Telegram for Android v. 5.x.x.
|
2013-10-25 17:19:00 +02:00
|
|
|
* It is licensed under GNU GPL v. 2 or later.
|
|
|
|
* You should have received a copy of the license in this archive (see LICENSE).
|
|
|
|
*
|
2019-01-23 18:03:33 +01:00
|
|
|
* Copyright Nikolai Kudashov, 2013-2018.
|
2013-10-25 17:19:00 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
package org.telegram.ui;
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
import android.animation.Animator;
|
|
|
|
import android.animation.AnimatorListenerAdapter;
|
|
|
|
import android.animation.AnimatorSet;
|
|
|
|
import android.animation.ObjectAnimator;
|
2013-10-25 17:19:00 +02:00
|
|
|
import android.content.Context;
|
2017-03-31 01:58:05 +02:00
|
|
|
import android.graphics.Typeface;
|
2013-10-25 17:19:00 +02:00
|
|
|
import android.os.Bundle;
|
2016-03-06 02:49:31 +01:00
|
|
|
import android.text.Spannable;
|
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
|
import android.text.Spanned;
|
|
|
|
import android.text.method.LinkMovementMethod;
|
|
|
|
import android.util.TypedValue;
|
|
|
|
import android.view.Gravity;
|
2014-11-19 16:17:24 +01:00
|
|
|
import android.view.MotionEvent;
|
2013-10-25 17:19:00 +02:00
|
|
|
import android.view.Surface;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.ViewTreeObserver;
|
|
|
|
import android.view.WindowManager;
|
2017-03-31 01:58:05 +02:00
|
|
|
import android.view.animation.DecelerateInterpolator;
|
2016-03-06 02:49:31 +01:00
|
|
|
import android.widget.FrameLayout;
|
2014-11-10 12:05:22 +01:00
|
|
|
import android.widget.ImageView;
|
2013-10-25 17:19:00 +02:00
|
|
|
import android.widget.LinearLayout;
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
2015-09-24 22:52:02 +02:00
|
|
|
import org.telegram.messenger.AndroidUtilities;
|
2017-03-31 01:58:05 +02:00
|
|
|
import org.telegram.messenger.Emoji;
|
|
|
|
import org.telegram.messenger.EmojiData;
|
2016-03-06 02:49:31 +01:00
|
|
|
import org.telegram.messenger.FileLog;
|
2015-09-24 22:52:02 +02:00
|
|
|
import org.telegram.messenger.LocaleController;
|
2014-12-01 18:56:31 +01:00
|
|
|
import org.telegram.messenger.ApplicationLoader;
|
2017-03-31 01:58:05 +02:00
|
|
|
import org.telegram.messenger.NotificationCenter;
|
2016-03-06 02:49:31 +01:00
|
|
|
import org.telegram.messenger.Utilities;
|
2015-09-24 22:52:02 +02:00
|
|
|
import org.telegram.tgnet.TLRPC;
|
|
|
|
import org.telegram.messenger.MessagesController;
|
2013-10-25 17:19:00 +02:00
|
|
|
import org.telegram.messenger.R;
|
2014-11-13 21:10:14 +01:00
|
|
|
import org.telegram.ui.ActionBar.ActionBar;
|
|
|
|
import org.telegram.ui.ActionBar.BaseFragment;
|
2017-03-31 01:58:05 +02:00
|
|
|
import org.telegram.ui.ActionBar.ThemeDescription;
|
2014-12-01 18:56:31 +01:00
|
|
|
import org.telegram.ui.Components.IdenticonDrawable;
|
2016-03-06 02:49:31 +01:00
|
|
|
import org.telegram.ui.Components.LayoutHelper;
|
2016-04-22 15:49:00 +02:00
|
|
|
import org.telegram.ui.ActionBar.Theme;
|
2016-03-06 02:49:31 +01:00
|
|
|
import org.telegram.ui.Components.URLSpanReplacement;
|
2013-10-25 17:19:00 +02:00
|
|
|
|
2020-04-24 11:21:58 +02:00
|
|
|
import java.util.ArrayList;
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
public class IdenticonActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
|
|
|
|
|
|
|
|
private TextView textView;
|
|
|
|
private TextView codeTextView;
|
|
|
|
private TextView emojiTextView;
|
|
|
|
private FrameLayout container;
|
|
|
|
private LinearLayout linearLayout1;
|
|
|
|
private LinearLayout linearLayout;
|
2016-03-06 02:49:31 +01:00
|
|
|
|
2013-10-25 17:19:00 +02:00
|
|
|
private int chat_id;
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
private AnimatorSet animatorSet;
|
|
|
|
private AnimatorSet hintAnimatorSet;
|
|
|
|
|
|
|
|
private String emojiText;
|
|
|
|
private boolean emojiSelected;
|
|
|
|
private int textWidth;
|
|
|
|
|
2016-03-06 02:49:31 +01:00
|
|
|
private static class LinkMovementMethodMy extends LinkMovementMethod {
|
|
|
|
@Override
|
2017-03-31 01:58:05 +02:00
|
|
|
public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
|
2016-03-06 02:49:31 +01:00
|
|
|
try {
|
|
|
|
return super.onTouchEvent(widget, buffer, event);
|
|
|
|
} catch (Exception e) {
|
2017-03-31 01:58:05 +02:00
|
|
|
FileLog.e(e);
|
2016-03-06 02:49:31 +01:00
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-06-04 01:31:48 +02:00
|
|
|
public IdenticonActivity(Bundle args) {
|
|
|
|
super(args);
|
|
|
|
}
|
|
|
|
|
2013-10-25 17:19:00 +02:00
|
|
|
@Override
|
|
|
|
public boolean onFragmentCreate() {
|
|
|
|
chat_id = getArguments().getInt("chat_id");
|
2019-01-23 18:03:33 +01:00
|
|
|
NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.emojiDidLoad);
|
2013-10-25 17:19:00 +02:00
|
|
|
return super.onFragmentCreate();
|
|
|
|
}
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
@Override
|
|
|
|
public void onFragmentDestroy() {
|
|
|
|
super.onFragmentDestroy();
|
2019-01-23 18:03:33 +01:00
|
|
|
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.emojiDidLoad);
|
2017-03-31 01:58:05 +02:00
|
|
|
}
|
|
|
|
|
2013-10-25 17:19:00 +02:00
|
|
|
@Override
|
2015-07-22 20:56:37 +02:00
|
|
|
public View createView(Context context) {
|
2015-04-09 20:00:14 +02:00
|
|
|
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
|
|
|
|
actionBar.setAllowOverlayTitle(true);
|
|
|
|
actionBar.setTitle(LocaleController.getString("EncryptionKey", R.string.EncryptionKey));
|
2013-10-25 17:19:00 +02:00
|
|
|
|
2015-04-09 20:00:14 +02:00
|
|
|
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
|
|
|
|
@Override
|
|
|
|
public void onItemClick(int id) {
|
|
|
|
if (id == -1) {
|
|
|
|
finishFragment();
|
2014-06-04 01:31:48 +02:00
|
|
|
}
|
2013-10-25 17:19:00 +02:00
|
|
|
}
|
2015-04-09 20:00:14 +02:00
|
|
|
});
|
2014-11-19 16:17:24 +01:00
|
|
|
|
2017-12-08 18:35:59 +01:00
|
|
|
fragmentView = new FrameLayout(context);
|
2017-03-31 01:58:05 +02:00
|
|
|
FrameLayout parentFrameLayout = (FrameLayout) fragmentView;
|
|
|
|
fragmentView.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundGray));
|
2019-01-23 18:03:33 +01:00
|
|
|
fragmentView.setOnTouchListener((v, event) -> true);
|
2016-03-06 02:49:31 +01:00
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
linearLayout = new LinearLayout(context);
|
|
|
|
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
|
|
|
linearLayout.setWeightSum(100);
|
|
|
|
parentFrameLayout.addView(linearLayout, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT));
|
|
|
|
|
2016-03-06 02:49:31 +01:00
|
|
|
FrameLayout frameLayout = new FrameLayout(context);
|
|
|
|
frameLayout.setPadding(AndroidUtilities.dp(20), AndroidUtilities.dp(20), AndroidUtilities.dp(20), AndroidUtilities.dp(20));
|
|
|
|
linearLayout.addView(frameLayout, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, 50.0f));
|
|
|
|
|
|
|
|
ImageView identiconView = new ImageView(context);
|
|
|
|
identiconView.setScaleType(ImageView.ScaleType.FIT_XY);
|
|
|
|
frameLayout.addView(identiconView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT));
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
container = new FrameLayout(context) {
|
|
|
|
@Override
|
|
|
|
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
|
|
|
super.onLayout(changed, left, top, right, bottom);
|
|
|
|
if (codeTextView != null) {
|
|
|
|
int x = codeTextView.getLeft() + codeTextView.getMeasuredWidth() / 2 - emojiTextView.getMeasuredWidth() / 2;
|
|
|
|
int y = (codeTextView.getMeasuredHeight() - emojiTextView.getMeasuredHeight()) / 2 + linearLayout1.getTop() - AndroidUtilities.dp(16);
|
|
|
|
emojiTextView.layout(x, y, x + emojiTextView.getMeasuredWidth(), y + emojiTextView.getMeasuredHeight());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
container.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite));
|
|
|
|
linearLayout.addView(container, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT, 50.0f));
|
|
|
|
|
|
|
|
linearLayout1 = new LinearLayout(context);
|
|
|
|
linearLayout1.setOrientation(LinearLayout.VERTICAL);
|
|
|
|
linearLayout1.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0);
|
|
|
|
container.addView(linearLayout1, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER));
|
|
|
|
|
|
|
|
codeTextView = new TextView(context);
|
|
|
|
codeTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText4));
|
|
|
|
codeTextView.setGravity(Gravity.CENTER);
|
|
|
|
codeTextView.setTypeface(Typeface.MONOSPACE);
|
|
|
|
codeTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
|
|
|
|
/*codeTextView.setOnClickListener(new View.OnClickListener() {
|
|
|
|
@Override
|
|
|
|
public void onClick(View v) {
|
|
|
|
emojiSelected = !emojiSelected;
|
|
|
|
updateEmojiButton(true);
|
|
|
|
showHint(false);
|
|
|
|
}
|
|
|
|
});*/
|
|
|
|
linearLayout1.addView(codeTextView, LayoutHelper.createLinear(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL));
|
2016-03-06 02:49:31 +01:00
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
textView = new TextView(context);
|
|
|
|
textView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText4));
|
|
|
|
textView.setLinkTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteLinkText));
|
2016-03-06 02:49:31 +01:00
|
|
|
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
|
|
|
|
textView.setLinksClickable(true);
|
|
|
|
textView.setClickable(true);
|
|
|
|
textView.setGravity(Gravity.CENTER);
|
2017-03-31 01:58:05 +02:00
|
|
|
textView.setMovementMethod(new LinkMovementMethodMy());
|
|
|
|
linearLayout1.addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL));
|
|
|
|
|
|
|
|
emojiTextView = new TextView(context);
|
|
|
|
emojiTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText4));
|
|
|
|
emojiTextView.setGravity(Gravity.CENTER);
|
|
|
|
emojiTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 32);
|
|
|
|
container.addView(emojiTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT));
|
2016-03-06 02:49:31 +01:00
|
|
|
|
2018-07-30 04:07:02 +02:00
|
|
|
TLRPC.EncryptedChat encryptedChat = MessagesController.getInstance(currentAccount).getEncryptedChat(chat_id);
|
2015-04-09 20:00:14 +02:00
|
|
|
if (encryptedChat != null) {
|
|
|
|
IdenticonDrawable drawable = new IdenticonDrawable();
|
|
|
|
identiconView.setImageDrawable(drawable);
|
|
|
|
drawable.setEncryptedChat(encryptedChat);
|
2018-07-30 04:07:02 +02:00
|
|
|
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(encryptedChat.user_id);
|
2016-03-06 02:49:31 +01:00
|
|
|
SpannableStringBuilder hash = new SpannableStringBuilder();
|
2017-03-31 01:58:05 +02:00
|
|
|
StringBuilder emojis = new StringBuilder();
|
2016-03-06 02:49:31 +01:00
|
|
|
if (encryptedChat.key_hash.length > 16) {
|
|
|
|
String hex = Utilities.bytesToHex(encryptedChat.key_hash);
|
|
|
|
for (int a = 0; a < 32; a++) {
|
|
|
|
if (a != 0) {
|
|
|
|
if (a % 8 == 0) {
|
|
|
|
hash.append('\n');
|
|
|
|
} else if (a % 4 == 0) {
|
|
|
|
hash.append(' ');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
hash.append(hex.substring(a * 2, a * 2 + 2));
|
|
|
|
hash.append(' ');
|
|
|
|
}
|
2017-03-31 01:58:05 +02:00
|
|
|
hash.append("\n");
|
|
|
|
for (int a = 0; a < 5; a++) {
|
|
|
|
int num = ((encryptedChat.key_hash[16 + a * 4] & 0x7f) << 24) | ((encryptedChat.key_hash[16 + a * 4 + 1] & 0xff) << 16) | ((encryptedChat.key_hash[16 + a * 4 + 2] & 0xff) << 8) | (encryptedChat.key_hash[16 + a * 4 + 3] & 0xff);
|
|
|
|
if (a != 0) {
|
|
|
|
emojis.append(" ");
|
|
|
|
}
|
|
|
|
emojis.append(EmojiData.emojiSecret[num % EmojiData.emojiSecret.length]);
|
|
|
|
}
|
|
|
|
emojiText = emojis.toString();
|
2015-04-09 20:00:14 +02:00
|
|
|
}
|
2017-03-31 01:58:05 +02:00
|
|
|
codeTextView.setText(hash.toString());
|
|
|
|
hash.clear();
|
2016-03-06 02:49:31 +01:00
|
|
|
hash.append(AndroidUtilities.replaceTags(LocaleController.formatString("EncryptionKeyDescription", R.string.EncryptionKeyDescription, user.first_name, user.first_name)));
|
|
|
|
final String url = "telegram.org";
|
|
|
|
int index = hash.toString().indexOf(url);
|
|
|
|
if (index != -1) {
|
|
|
|
hash.setSpan(new URLSpanReplacement(LocaleController.getString("EncryptionKeyLink", R.string.EncryptionKeyLink)), index, index + url.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
|
|
}
|
|
|
|
textView.setText(hash);
|
|
|
|
}
|
2015-04-09 20:00:14 +02:00
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
updateEmojiButton(false);
|
|
|
|
|
2013-10-25 17:19:00 +02:00
|
|
|
return fragmentView;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
|
|
|
|
super.onConfigurationChanged(newConfig);
|
|
|
|
fixLayout();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onResume() {
|
2014-06-04 18:00:42 +02:00
|
|
|
super.onResume();
|
2013-10-25 17:19:00 +02:00
|
|
|
fixLayout();
|
|
|
|
}
|
|
|
|
|
2017-03-31 01:58:05 +02:00
|
|
|
@Override
|
2018-07-30 04:07:02 +02:00
|
|
|
public void didReceivedNotification(int id, int account, Object... args) {
|
2019-01-23 18:03:33 +01:00
|
|
|
if (id == NotificationCenter.emojiDidLoad) {
|
2017-03-31 01:58:05 +02:00
|
|
|
if (emojiTextView != null) {
|
|
|
|
emojiTextView.invalidate();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void updateEmojiButton(boolean animated) {
|
|
|
|
if (animatorSet != null) {
|
|
|
|
animatorSet.cancel();
|
|
|
|
animatorSet = null;
|
|
|
|
}
|
|
|
|
if (animated) {
|
|
|
|
animatorSet = new AnimatorSet();
|
|
|
|
animatorSet.playTogether(ObjectAnimator.ofFloat(emojiTextView, "alpha", emojiSelected ? 1.0f : 0.0f),
|
|
|
|
ObjectAnimator.ofFloat(codeTextView, "alpha", emojiSelected ? 0.0f : 1.0f),
|
|
|
|
ObjectAnimator.ofFloat(emojiTextView, "scaleX", emojiSelected ? 1.0f : 0.0f),
|
|
|
|
ObjectAnimator.ofFloat(emojiTextView, "scaleY", emojiSelected ? 1.0f : 0.0f),
|
|
|
|
ObjectAnimator.ofFloat(codeTextView, "scaleX", emojiSelected ? 0.0f : 1.0f),
|
|
|
|
ObjectAnimator.ofFloat(codeTextView, "scaleY", emojiSelected ? 0.0f : 1.0f));
|
|
|
|
animatorSet.addListener(new AnimatorListenerAdapter() {
|
|
|
|
@Override
|
|
|
|
public void onAnimationEnd(Animator animation) {
|
|
|
|
if (animation.equals(animatorSet)) {
|
|
|
|
animatorSet = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
animatorSet.setInterpolator(new DecelerateInterpolator());
|
|
|
|
animatorSet.setDuration(150);
|
|
|
|
animatorSet.start();
|
|
|
|
} else {
|
|
|
|
emojiTextView.setAlpha(emojiSelected ? 1.0f : 0.0f);
|
|
|
|
codeTextView.setAlpha(emojiSelected ? 0.0f : 1.0f);
|
|
|
|
emojiTextView.setScaleX(emojiSelected ? 1.0f : 0.0f);
|
|
|
|
emojiTextView.setScaleY(emojiSelected ? 1.0f : 0.0f);
|
|
|
|
codeTextView.setScaleX(emojiSelected ? 0.0f : 1.0f);
|
|
|
|
codeTextView.setScaleY(emojiSelected ? 0.0f : 1.0f);
|
|
|
|
}
|
|
|
|
emojiTextView.setTag(!emojiSelected ? Theme.key_chat_emojiPanelIcon : Theme.key_chat_emojiPanelIconSelected);
|
|
|
|
}
|
|
|
|
|
2013-10-25 17:19:00 +02:00
|
|
|
private void fixLayout() {
|
2014-06-04 01:31:48 +02:00
|
|
|
ViewTreeObserver obs = fragmentView.getViewTreeObserver();
|
|
|
|
obs.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
|
|
|
|
@Override
|
|
|
|
public boolean onPreDraw() {
|
2015-06-29 19:12:11 +02:00
|
|
|
if (fragmentView == null) {
|
2014-06-07 01:35:21 +02:00
|
|
|
return true;
|
|
|
|
}
|
2015-06-29 19:12:11 +02:00
|
|
|
fragmentView.getViewTreeObserver().removeOnPreDrawListener(this);
|
2014-12-01 18:56:31 +01:00
|
|
|
WindowManager manager = (WindowManager) ApplicationLoader.applicationContext.getSystemService(Context.WINDOW_SERVICE);
|
2014-06-04 01:31:48 +02:00
|
|
|
int rotation = manager.getDefaultDisplay().getRotation();
|
|
|
|
|
|
|
|
if (rotation == Surface.ROTATION_270 || rotation == Surface.ROTATION_90) {
|
2017-03-31 01:58:05 +02:00
|
|
|
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
|
2014-06-04 01:31:48 +02:00
|
|
|
} else {
|
2017-03-31 01:58:05 +02:00
|
|
|
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
2013-10-25 17:19:00 +02:00
|
|
|
}
|
|
|
|
|
2014-06-04 01:31:48 +02:00
|
|
|
fragmentView.setPadding(fragmentView.getPaddingLeft(), 0, fragmentView.getPaddingRight(), fragmentView.getPaddingBottom());
|
2015-06-29 19:12:11 +02:00
|
|
|
return true;
|
2014-06-04 01:31:48 +02:00
|
|
|
}
|
|
|
|
});
|
2013-10-25 17:19:00 +02:00
|
|
|
}
|
2017-03-31 01:58:05 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onTransitionAnimationEnd(boolean isOpen, boolean backward) {
|
|
|
|
if (isOpen && !backward && emojiText != null) {
|
|
|
|
emojiTextView.setText(Emoji.replaceEmoji(emojiText, emojiTextView.getPaint().getFontMetricsInt(), AndroidUtilities.dp(32), false));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2020-04-24 11:21:58 +02:00
|
|
|
public ArrayList<ThemeDescription> getThemeDescriptions() {
|
|
|
|
ArrayList<ThemeDescription> themeDescriptions = new ArrayList<>();
|
|
|
|
|
|
|
|
themeDescriptions.add(new ThemeDescription(container, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_windowBackgroundWhite));
|
|
|
|
themeDescriptions.add(new ThemeDescription(fragmentView, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_windowBackgroundGray));
|
|
|
|
|
|
|
|
themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, Theme.key_actionBarDefault));
|
|
|
|
themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_ITEMSCOLOR, null, null, null, null, Theme.key_actionBarDefaultIcon));
|
|
|
|
themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_TITLECOLOR, null, null, null, null, Theme.key_actionBarDefaultTitle));
|
|
|
|
themeDescriptions.add(new ThemeDescription(actionBar, ThemeDescription.FLAG_AB_SELECTORCOLOR, null, null, null, null, Theme.key_actionBarDefaultSelector));
|
|
|
|
|
|
|
|
themeDescriptions.add(new ThemeDescription(textView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteGrayText4));
|
|
|
|
themeDescriptions.add(new ThemeDescription(codeTextView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteGrayText4));
|
|
|
|
themeDescriptions.add(new ThemeDescription(textView, ThemeDescription.FLAG_LINKCOLOR, null, null, null, null, Theme.key_windowBackgroundWhiteLinkText));
|
|
|
|
|
|
|
|
return themeDescriptions;
|
2017-03-31 01:58:05 +02:00
|
|
|
}
|
2013-10-25 17:19:00 +02:00
|
|
|
}
|