正在查看: Plus 12 v10.13.1.1 应用的 ArticleViewer.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Plus 12 v10.13.1.1 应用的 ArticleViewer.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.ui;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.IntEvaluator;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.Editable;
import android.text.Layout;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.style.MetricAffectingSpan;
import android.util.Property;
import android.util.SparseArray;
import android.view.ActionMode;
import android.view.DisplayCutout;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.SurfaceView;
import android.view.TextureView;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.DecelerateInterpolator;
import android.webkit.CookieManager;
import android.webkit.JavascriptInterface;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Keep;
import androidx.collection.LongSparseArray;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.GridLayoutManagerFixed;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
import java.io.File;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.AnimationNotificationsLocker;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.ChatObject;
import org.telegram.messenger.DownloadController;
import org.telegram.messenger.FileLoader;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.FileStreamLoadOperation;
import org.telegram.messenger.ImageLoader;
import org.telegram.messenger.ImageLocation;
import org.telegram.messenger.ImageReceiver;
import org.telegram.messenger.LocaleController;
import org.telegram.messenger.MediaController;
import org.telegram.messenger.MessageObject;
import org.telegram.messenger.MessagesController;
import org.telegram.messenger.MessagesStorage;
import org.telegram.messenger.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.messenger.SharedConfig;
import org.telegram.messenger.UserConfig;
import org.telegram.messenger.Utilities;
import org.telegram.messenger.browser.Browser;
import org.telegram.messenger.video.VideoPlayerHolderBase;
import org.telegram.tgnet.ConnectionsManager;
import org.telegram.tgnet.RequestDelegate;
import org.telegram.tgnet.TLObject;
import org.telegram.tgnet.TLRPC;
import org.telegram.ui.ActionBar.ActionBarMenuItem;
import org.telegram.ui.ActionBar.ActionBarPopupWindow;
import org.telegram.ui.ActionBar.AlertDialog;
import org.telegram.ui.ActionBar.BackDrawable;
import org.telegram.ui.ActionBar.BaseFragment;
import org.telegram.ui.ActionBar.BottomSheet;
import org.telegram.ui.ActionBar.PlusSettings;
import org.telegram.ui.ActionBar.SimpleTextView;
import org.telegram.ui.ActionBar.Theme;
import org.telegram.ui.ArticleViewer;
import org.telegram.ui.Cells.HeaderCell;
import org.telegram.ui.Cells.TextSelectionHelper;
import org.telegram.ui.Components.AlertsCreator;
import org.telegram.ui.Components.AnchorSpan;
import org.telegram.ui.Components.AnimatedArrowDrawable;
import org.telegram.ui.Components.AnimationProperties;
import org.telegram.ui.Components.AvatarDrawable;
import org.telegram.ui.Components.BulletinFactory;
import org.telegram.ui.Components.CloseProgressDrawable2;
import org.telegram.ui.Components.CombinedDrawable;
import org.telegram.ui.Components.ContextProgressView;
import org.telegram.ui.Components.CubicBezierInterpolator;
import org.telegram.ui.Components.EditTextBoldCursor;
import org.telegram.ui.Components.LayoutHelper;
import org.telegram.ui.Components.LineProgressView;
import org.telegram.ui.Components.LinkPath;
import org.telegram.ui.Components.LinkSpanDrawable;
import org.telegram.ui.Components.RadialProgress2;
import org.telegram.ui.Components.RadioButton;
import org.telegram.ui.Components.RecyclerListView;
import org.telegram.ui.Components.SeekBar;
import org.telegram.ui.Components.SeekBarView;
import org.telegram.ui.Components.ShareAlert;
import org.telegram.ui.Components.StaticLayoutEx;
import org.telegram.ui.Components.TableLayout;
import org.telegram.ui.Components.TextPaintImageReceiverSpan;
import org.telegram.ui.Components.TextPaintMarkSpan;
import org.telegram.ui.Components.TextPaintSpan;
import org.telegram.ui.Components.TextPaintUrlSpan;
import org.telegram.ui.Components.TextPaintWebpageUrlSpan;
import org.telegram.ui.Components.TranslateAlert2;
import org.telegram.ui.Components.TypefaceSpan;
import org.telegram.ui.Components.VideoPlayer;
import org.telegram.ui.Components.WebPlayerView;
import org.telegram.ui.PhotoViewer;
import org.telegram.ui.PinchToZoomHelper;
public class ArticleViewer implements NotificationCenter.NotificationCenterDelegate {
@SuppressLint({"StaticFieldLeak"})
public static volatile ArticleViewer Instance;
public static TextPaint channelNamePaint;
public static TextPaint channelNamePhotoPaint;
public static Paint dividerPaint;
public static Paint dotsPaint;
public static TextPaint embedPostAuthorPaint;
public static TextPaint embedPostDatePaint;
public static TextPaint errorTextPaint;
public static TextPaint listTextNumPaint;
public static TextPaint listTextPointerPaint;
public static Paint photoBackgroundPaint;
public static Paint preformattedBackgroundPaint;
public static Paint quoteLinePaint;
public static TextPaint relatedArticleHeaderPaint;
public static TextPaint relatedArticleTextPaint;
public static Paint tableHalfLinePaint;
public static Paint tableHeaderPaint;
public static Paint tableLinePaint;
public static Paint tableStripPaint;
public static Paint urlPaint;
public static Paint webpageMarkPaint;
public static Paint webpageSearchPaint;
public static Paint webpageUrlPaint;
public WebpageAdapter[] adapter;
public int anchorsOffsetMeasuredWidth;
public Runnable animationEndRunnable;
public int animationInProgress;
public boolean attachedToWindow;
public ImageView backButton;
public BackDrawable backDrawable;
public Paint backgroundPaint;
public Drawable chat_redLocationIcon;
public ImageView clearButton;
public boolean closeAnimationInProgress;
public boolean collapsed;
public FrameLayout containerView;
public int currentAccount;
public int currentHeaderHeight;
public BlockVideoCell currentPlayer;
public WebPlayerView currentPlayingVideo;
public int currentSearchIndex;
public View customView;
public WebChromeClient.CustomViewCallback customViewCallback;
public TextView deleteView;
public boolean drawBlockSelection;
public FontCell[] fontCells;
public AspectRatioFrameLayout fullscreenAspectRatioView;
public TextureView fullscreenTextureView;
public FrameLayout fullscreenVideoContainer;
public WebPlayerView fullscreenedVideo;
public boolean hasCutout;
public FrameLayout headerView;
public boolean ignoreOnTextChange;
public boolean isVisible;
public boolean keyboardVisible;
public Object lastInsets;
public int lastReqId;
public int lastSearchIndex;
public Drawable layerShadowDrawable;
public LinearLayoutManager[] layoutManager;
public Runnable lineProgressTickRunnable;
public LineProgressView lineProgressView;
public BottomSheet linkSheet;
public RecyclerListView[] listView;
public TLRPC.Chat loadedChannel;
public boolean loadingChannel;
public ActionBarMenuItem menuButton;
public FrameLayout menuContainer;
public final AnimationNotificationsLocker notificationsLocker;
public int openUrlReqId;
public AnimatorSet pageSwitchAnimation;
public Activity parentActivity;
public BaseFragment parentFragment;
public PinchToZoomHelper pinchToZoomHelper;
public ActionBarPopupWindow.ActionBarPopupWindowLayout popupLayout;
public Rect popupRect;
public ActionBarPopupWindow popupWindow;
public int pressedLayoutY;
public LinkSpanDrawable<TextPaintUrlSpan> pressedLink;
public DrawingText pressedLinkOwnerLayout;
public View pressedLinkOwnerView;
public int previewsReqId;
public ContextProgressView progressView;
public AnimatorSet progressViewAnimation;
public AnimatorSet runAfterKeyboardClose;
public Paint scrimPaint;
public FrameLayout searchContainer;
public SimpleTextView searchCountText;
public ImageView searchDownButton;
public EditTextBoldCursor searchField;
public FrameLayout searchPanel;
public ArrayList<SearchResult> searchResults;
public Runnable searchRunnable;
public View searchShadow;
public String searchText;
public ImageView searchUpButton;
public int selectedFont;
public Drawable slideDotBigDrawable;
public Drawable slideDotDrawable;
public TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelper;
public TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelperBottomSheet;
public SimpleTextView titleTextView;
public long transitionAnimationStartTime;
public VideoPlayerHolderBase videoPlayer;
public LongSparseArray<BlockVideoCellState> videoStates;
public Dialog visibleDialog;
public WindowManager.LayoutParams windowLayoutParams;
public WindowView windowView;
public static final Property<WindowView, Float> ARTICLE_VIEWER_INNER_TRANSLATION_X = new AnimationProperties.FloatProperty<WindowView>("innerTranslationX") {
public void setValue(WindowView object, float value) {
object.setInnerTranslationX(value);
}
public Float get(WindowView object) {
return Float.valueOf(object.getInnerTranslationX());
}
};
public static TextPaint audioTimePaint = new TextPaint(1);
public static SparseArray<TextPaint> photoCaptionTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> photoCreditTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> titleTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> kickerTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> headerTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> subtitleTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> subheaderTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> authorTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> footerTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> paragraphTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> listTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> preformattedTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> quoteTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> embedPostTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> embedPostCaptionTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> mediaCaptionTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> mediaCreditTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> relatedArticleTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> detailsTextPaints = new SparseArray<>();
public static SparseArray<TextPaint> tableTextPaints = new SparseArray<>();
public ArrayList<BlockEmbedCell> createdWebViews = new ArrayList<>();
public int lastBlockNum = 1;
public DecelerateInterpolator interpolator = new DecelerateInterpolator(1.5f);
public ArrayList<TLRPC.WebPage> pagesStack = new ArrayList<>();
public boolean animateClear = true;
public Paint headerPaint = new Paint();
public Paint statusBarPaint = new Paint();
public Paint navigationBarPaint = new Paint();
public Paint headerProgressPaint = new Paint();
public boolean checkingForLongPress = false;
public CheckForLongPress pendingCheckForLongPress = null;
public int pressCount = 0;
public CheckForTap pendingCheckForTap = null;
public LinkSpanDrawable.LinkCollector links = new LinkSpanDrawable.LinkCollector();
public static boolean lambda$setParentActivity$21(View view, MotionEvent motionEvent) {
return true;
}
public final void updateWindowLayoutParamsForSearch() {
}
public ArticleViewer() {
new LinkPath();
this.notificationsLocker = new AnimationNotificationsLocker(new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats});
this.selectedFont = 0;
this.fontCells = new FontCell[2];
this.searchResults = new ArrayList<>();
this.lastSearchIndex = -1;
this.videoStates = new LongSparseArray<>();
}
public static ArticleViewer getInstance() {
ArticleViewer articleViewer = Instance;
if (articleViewer == null) {
synchronized (ArticleViewer.class) {
articleViewer = Instance;
if (articleViewer == null) {
articleViewer = new ArticleViewer();
Instance = articleViewer;
}
}
}
return articleViewer;
}
public static boolean hasInstance() {
return Instance != null;
}
public static class TL_pageBlockRelatedArticlesChild extends TLRPC.PageBlock {
public int num;
public TLRPC.TL_pageBlockRelatedArticles parent;
public TL_pageBlockRelatedArticlesChild() {
}
}
public static class TL_pageBlockRelatedArticlesShadow extends TLRPC.PageBlock {
public TLRPC.TL_pageBlockRelatedArticles parent;
public TL_pageBlockRelatedArticlesShadow() {
}
}
public static class TL_pageBlockDetailsChild extends TLRPC.PageBlock {
public TLRPC.PageBlock block;
public TLRPC.PageBlock parent;
public TL_pageBlockDetailsChild() {
}
}
public class TL_pageBlockListParent extends TLRPC.PageBlock {
public ArrayList<TL_pageBlockListItem> items;
public int lastFontSize;
public int lastMaxNumCalcWidth;
public int level;
public int maxNumWidth;
public TLRPC.TL_pageBlockList pageBlockList;
public TL_pageBlockListParent(final ArticleViewer this$0) {
this.items = new ArrayList<>();
}
}
public class TL_pageBlockListItem extends TLRPC.PageBlock {
public TLRPC.PageBlock blockItem;
public int index;
public String num;
public DrawingText numLayout;
public TL_pageBlockListParent parent;
public TLRPC.RichText textItem;
public TL_pageBlockListItem(final ArticleViewer this$0) {
this.index = Integer.MAX_VALUE;
}
}
public class TL_pageBlockOrderedListParent extends TLRPC.PageBlock {
public ArrayList<TL_pageBlockOrderedListItem> items;
public int lastFontSize;
public int lastMaxNumCalcWidth;
public int level;
public int maxNumWidth;
public TLRPC.TL_pageBlockOrderedList pageBlockOrderedList;
public TL_pageBlockOrderedListParent(final ArticleViewer this$0) {
this.items = new ArrayList<>();
}
}
public class TL_pageBlockOrderedListItem extends TLRPC.PageBlock {
public TLRPC.PageBlock blockItem;
public int index;
public String num;
public DrawingText numLayout;
public TL_pageBlockOrderedListParent parent;
public TLRPC.RichText textItem;
public TL_pageBlockOrderedListItem(final ArticleViewer this$0) {
this.index = Integer.MAX_VALUE;
}
}
public static class TL_pageBlockEmbedPostCaption extends TLRPC.TL_pageBlockEmbedPost {
public TLRPC.TL_pageBlockEmbedPost parent;
public TL_pageBlockEmbedPostCaption() {
}
}
public class DrawingText implements TextSelectionHelper.TextLayoutBlock {
public boolean isDrawing;
public View latestParentView;
public LinkPath markPath;
public TLRPC.PageBlock parentBlock;
public Object parentText;
public CharSequence prefix;
public int row;
public int searchIndex = -1;
public LinkPath searchPath;
public StaticLayout textLayout;
public LinkPath textPath;
public int x;
public int y;
public DrawingText() {
}
public void draw(Canvas canvas, View view) {
float width;
this.isDrawing = true;
this.latestParentView = view;
float f = 0.0f;
if (!ArticleViewer.this.searchResults.isEmpty()) {
SearchResult searchResult = (SearchResult) ArticleViewer.this.searchResults.get(ArticleViewer.this.currentSearchIndex);
if (searchResult.block == this.parentBlock && (searchResult.text == this.parentText || ((searchResult.text instanceof String) && this.parentText == null))) {
if (this.searchIndex != searchResult.index) {
LinkPath linkPath = new LinkPath(true);
this.searchPath = linkPath;
linkPath.setAllowReset(false);
this.searchPath.setCurrentLayout(this.textLayout, searchResult.index, 0.0f);
this.searchPath.setBaselineShift(0);
this.textLayout.getSelectionPath(searchResult.index, searchResult.index + ArticleViewer.this.searchText.length(), this.searchPath);
this.searchPath.setAllowReset(true);
}
} else {
this.searchIndex = -1;
this.searchPath = null;
}
} else {
this.searchIndex = -1;
this.searchPath = null;
}
LinkPath linkPath2 = this.searchPath;
if (linkPath2 != null) {
canvas.drawPath(linkPath2, ArticleViewer.webpageSearchPaint);
}
LinkPath linkPath3 = this.textPath;
if (linkPath3 != null) {
canvas.drawPath(linkPath3, ArticleViewer.webpageUrlPaint);
}
LinkPath linkPath4 = this.markPath;
if (linkPath4 != null) {
canvas.drawPath(linkPath4, ArticleViewer.webpageMarkPaint);
}
if (ArticleViewer.this.links.draw(canvas, this)) {
view.invalidate();
}
if (ArticleViewer.this.pressedLinkOwnerLayout == this && ArticleViewer.this.pressedLink == null && ArticleViewer.this.drawBlockSelection) {
if (getLineCount() == 1) {
width = getLineWidth(0);
f = getLineLeft(0);
} else {
width = getWidth();
}
canvas.drawRect((-AndroidUtilities.dp(2.0f)) + f, 0.0f, f + width + AndroidUtilities.dp(2.0f), getHeight(), ArticleViewer.urlPaint);
}
this.textLayout.draw(canvas);
this.isDrawing = false;
}
public void invalidateParent() {
View view;
if (this.isDrawing || (view = this.latestParentView) == null) {
return;
}
view.invalidate();
}
public CharSequence getText() {
return this.textLayout.getText();
}
public int getLineCount() {
return this.textLayout.getLineCount();
}
public int getLineAscent(int line) {
return this.textLayout.getLineAscent(line);
}
public float getLineLeft(int line) {
return this.textLayout.getLineLeft(line);
}
public float getLineWidth(int line) {
return this.textLayout.getLineWidth(line);
}
public int getHeight() {
return this.textLayout.getHeight();
}
public int getWidth() {
return this.textLayout.getWidth();
}
@Override
public StaticLayout getLayout() {
return this.textLayout;
}
@Override
public int getX() {
return this.x;
}
@Override
public int getY() {
return this.y;
}
@Override
public int getRow() {
return this.row;
}
@Override
public CharSequence getPrefix() {
return this.prefix;
}
}
public class TextSizeCell extends FrameLayout {
public int endFontSize;
public int lastWidth;
public SeekBarView sizeBar;
public int startFontSize;
public TextPaint textPaint;
public TextSizeCell(Context context) {
super(context);
this.startFontSize = 12;
this.endFontSize = 30;
setWillNotDraw(false);
TextPaint textPaint = new TextPaint(1);
this.textPaint = textPaint;
textPaint.setTextSize(AndroidUtilities.dp(16.0f));
SeekBarView seekBarView = new SeekBarView(context);
this.sizeBar = seekBarView;
seekBarView.setReportChanges(true);
this.sizeBar.setSeparatorsCount((this.endFontSize - this.startFontSize) + 1);
this.sizeBar.setDelegate(new SeekBarView.SeekBarViewDelegate(ArticleViewer.this) {
public void onSeekBarPressed(boolean pressed) {
}
public void onSeekBarDrag(boolean stop, float progress) {
int round = Math.round(TextSizeCell.this.startFontSize + ((TextSizeCell.this.endFontSize - TextSizeCell.this.startFontSize) * progress));
if (round != SharedConfig.ivFontSize) {
SharedConfig.ivFontSize = round;
SharedPreferences.Editor edit = MessagesController.getGlobalMainSettings().edit();
edit.putInt("iv_font_size", SharedConfig.ivFontSize);
edit.commit();
ArticleViewer.this.adapter[0].searchTextOffset.clear();
ArticleViewer.this.updatePaintSize();
TextSizeCell.this.invalidate();
}
}
public CharSequence getContentDescription() {
return String.valueOf(Math.round(TextSizeCell.this.startFontSize + ((TextSizeCell.this.endFontSize - TextSizeCell.this.startFontSize) * TextSizeCell.this.sizeBar.getProgress())));
}
public int getStepsCount() {
return TextSizeCell.this.endFontSize - TextSizeCell.this.startFontSize;
}
});
addView((View) this.sizeBar, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, 38.0f, 51, 5.0f, 5.0f, 39.0f, 0.0f));
}
@Override
public void onDraw(Canvas canvas) {
this.textPaint.setColor(Theme.getColor(Theme.key_windowBackgroundWhiteValueText));
canvas.drawText("" + SharedConfig.ivFontSize, getMeasuredWidth() - AndroidUtilities.dp(39.0f), AndroidUtilities.dp(28.0f), this.textPaint);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int size = View.MeasureSpec.getSize(widthMeasureSpec);
if (this.lastWidth != size) {
SeekBarView seekBarView = this.sizeBar;
int i = SharedConfig.ivFontSize;
int i2 = this.startFontSize;
seekBarView.setProgress((i - i2) / (this.endFontSize - i2));
this.lastWidth = size;
}
}
@Override
public void invalidate() {
super.invalidate();
this.sizeBar.invalidate();
}
}
public static class FontCell extends FrameLayout {
public RadioButton radioButton;
public TextView textView;
public FontCell(Context context) {
super(context);
setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 2));
RadioButton radioButton = new RadioButton(context);
this.radioButton = radioButton;
radioButton.setSize(AndroidUtilities.dp(20.0f));
this.radioButton.setColor(Theme.getColor(Theme.key_dialogRadioBackground), Theme.getColor(Theme.key_dialogRadioBackgroundChecked));
RadioButton radioButton2 = this.radioButton;
boolean z = LocaleController.isRTL;
addView((View) radioButton2, (ViewGroup.LayoutParams) LayoutHelper.createFrame(22, 22.0f, (z ? 5 : 3) | 48, z ? 0 : 22, 13.0f, z ? 22 : 0, 0.0f));
TextView textView = new TextView(context);
this.textView = textView;
textView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.textView.setTextSize(1, 16.0f);
this.textView.setLines(1);
this.textView.setMaxLines(1);
this.textView.setSingleLine(true);
this.textView.setGravity((LocaleController.isRTL ? 5 : 3) | 16);
TextView textView2 = this.textView;
boolean z2 = LocaleController.isRTL;
addView(textView2, LayoutHelper.createFrame(-1, -1.0f, (z2 ? 5 : 3) | 48, z2 ? 17 : 62, 0.0f, z2 ? 62 : 17, 0.0f));
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(widthMeasureSpec), 1073741824), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(48.0f), 1073741824));
}
public void select(boolean value, boolean animated) {
this.radioButton.setChecked(value, animated);
}
public void setTextAndTypeface(String text, Typeface typeface) {
this.textView.setText(text);
this.textView.setTypeface(typeface);
setContentDescription(text);
invalidate();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setClassName(RadioButton.class.getName());
info.setChecked(this.radioButton.isChecked());
info.setCheckable(true);
}
}
public final class CheckForTap implements Runnable {
public CheckForTap() {
}
@Override
public void run() {
if (ArticleViewer.this.pendingCheckForLongPress == null) {
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.pendingCheckForLongPress = articleViewer.new CheckForLongPress();
}
CheckForLongPress checkForLongPress = ArticleViewer.this.pendingCheckForLongPress;
ArticleViewer articleViewer2 = ArticleViewer.this;
int i = articleViewer2.pressCount + 1;
articleViewer2.pressCount = i;
checkForLongPress.currentPressCount = i;
if (ArticleViewer.this.windowView != null) {
ArticleViewer.this.windowView.postDelayed(ArticleViewer.this.pendingCheckForLongPress, ViewConfiguration.getLongPressTimeout() - ViewConfiguration.getTapTimeout());
}
}
}
public class WindowView extends FrameLayout {
public float alpha;
public int bHeight;
public int bWidth;
public int bX;
public int bY;
public final Paint blackPaint;
public float innerTranslationX;
public boolean maybeStartTracking;
public boolean movingPage;
public boolean selfLayout;
public int startMovingHeaderHeight;
public boolean startedTracking;
public int startedTrackingPointerId;
public int startedTrackingX;
public int startedTrackingY;
public VelocityTracker tracker;
public WindowView(Context context) {
super(context);
this.blackPaint = new Paint();
}
@Override
@TargetApi(21)
public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) {
DisplayCutout displayCutout;
List<Rect> boundingRects;
WindowInsets windowInsets = (WindowInsets) ArticleViewer.this.lastInsets;
ArticleViewer.this.lastInsets = insets;
if ((windowInsets == null || !windowInsets.toString().equals(insets.toString())) && ArticleViewer.this.windowView != null) {
ArticleViewer.this.windowView.requestLayout();
}
if (Build.VERSION.SDK_INT >= 28 && ArticleViewer.this.parentActivity != null && (displayCutout = ArticleViewer.this.parentActivity.getWindow().getDecorView().getRootWindowInsets().getDisplayCutout()) != null && (boundingRects = displayCutout.getBoundingRects()) != null && !boundingRects.isEmpty()) {
ArticleViewer.this.hasCutout = boundingRects.get(0).height() != 0;
}
return super.dispatchApplyWindowInsets(insets);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
int size2 = View.MeasureSpec.getSize(heightMeasureSpec);
int i = Build.VERSION.SDK_INT;
if (i >= 21 && ArticleViewer.this.lastInsets != null) {
setMeasuredDimension(size, size2);
WindowInsets windowInsets = (WindowInsets) ArticleViewer.this.lastInsets;
if (AndroidUtilities.incorrectDisplaySizeFix) {
int i2 = AndroidUtilities.displaySize.y;
if (size2 > i2) {
size2 = i2;
}
size2 += AndroidUtilities.statusBarHeight;
}
int systemWindowInsetBottom = size2 - windowInsets.getSystemWindowInsetBottom();
size -= windowInsets.getSystemWindowInsetRight() + windowInsets.getSystemWindowInsetLeft();
if (windowInsets.getSystemWindowInsetRight() != 0) {
this.bWidth = windowInsets.getSystemWindowInsetRight();
this.bHeight = systemWindowInsetBottom;
} else if (windowInsets.getSystemWindowInsetLeft() != 0) {
this.bWidth = windowInsets.getSystemWindowInsetLeft();
this.bHeight = systemWindowInsetBottom;
} else {
this.bWidth = size;
this.bHeight = windowInsets.getStableInsetBottom();
}
size2 = systemWindowInsetBottom - windowInsets.getSystemWindowInsetTop();
} else {
setMeasuredDimension(size, size2);
}
ArticleViewer.this.menuButton.setAdditionalYOffset(((-(ArticleViewer.this.currentHeaderHeight - AndroidUtilities.dp(56.0f))) / 2) + (i < 21 ? AndroidUtilities.statusBarHeight : 0));
ArticleViewer.this.keyboardVisible = size2 < AndroidUtilities.displaySize.y - AndroidUtilities.dp(100.0f);
ArticleViewer.this.containerView.measure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(size2, 1073741824));
ArticleViewer.this.fullscreenVideoContainer.measure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(size2, 1073741824));
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ArticleViewer.this.pinchToZoomHelper.isInOverlayMode()) {
ev.offsetLocation(-ArticleViewer.this.containerView.getX(), -ArticleViewer.this.containerView.getY());
return ArticleViewer.this.pinchToZoomHelper.onTouchEvent(ev);
}
TextSelectionHelper<Cell>.TextSelectionOverlay overlayView = ArticleViewer.this.textSelectionHelper.getOverlayView(getContext());
MotionEvent obtain = MotionEvent.obtain(ev);
obtain.offsetLocation(-ArticleViewer.this.containerView.getX(), -ArticleViewer.this.containerView.getY());
if (ArticleViewer.this.textSelectionHelper.isInSelectionMode() && ArticleViewer.this.textSelectionHelper.getOverlayView(getContext()).onTouchEvent(obtain)) {
return true;
}
if (overlayView.checkOnTap(ev)) {
ev.setAction(3);
}
if (ev.getAction() == 0 && ArticleViewer.this.textSelectionHelper.isInSelectionMode() && (ev.getY() < ArticleViewer.this.containerView.getTop() || ev.getY() > ArticleViewer.this.containerView.getBottom())) {
if (ArticleViewer.this.textSelectionHelper.getOverlayView(getContext()).onTouchEvent(obtain)) {
return super.dispatchTouchEvent(ev);
}
return true;
}
return super.dispatchTouchEvent(ev);
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
int i;
if (this.selfLayout) {
return;
}
int i2 = right - left;
int i3 = 0;
if (ArticleViewer.this.anchorsOffsetMeasuredWidth != i2) {
for (int i4 = 0; i4 < ArticleViewer.this.listView.length; i4++) {
Iterator it = ArticleViewer.this.adapter[i4].anchorsOffset.entrySet().iterator();
while (it.hasNext()) {
((Map.Entry) it.next()).setValue(-1);
}
}
ArticleViewer.this.anchorsOffsetMeasuredWidth = i2;
}
if (Build.VERSION.SDK_INT < 21 || ArticleViewer.this.lastInsets == null) {
i = 0;
} else {
WindowInsets windowInsets = (WindowInsets) ArticleViewer.this.lastInsets;
int systemWindowInsetLeft = windowInsets.getSystemWindowInsetLeft();
if (windowInsets.getSystemWindowInsetRight() != 0) {
this.bX = i2 - this.bWidth;
this.bY = 0;
} else if (windowInsets.getSystemWindowInsetLeft() != 0) {
this.bX = 0;
this.bY = 0;
} else {
this.bX = 0;
this.bY = (bottom - top) - this.bHeight;
}
i = 0 + windowInsets.getSystemWindowInsetTop();
i3 = systemWindowInsetLeft;
}
ArticleViewer.this.containerView.layout(i3, i, ArticleViewer.this.containerView.getMeasuredWidth() + i3, ArticleViewer.this.containerView.getMeasuredHeight() + i);
ArticleViewer.this.fullscreenVideoContainer.layout(i3, i, ArticleViewer.this.fullscreenVideoContainer.getMeasuredWidth() + i3, ArticleViewer.this.fullscreenVideoContainer.getMeasuredHeight() + i);
if (ArticleViewer.this.runAfterKeyboardClose != null) {
ArticleViewer.this.runAfterKeyboardClose.start();
ArticleViewer.this.runAfterKeyboardClose = null;
}
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
ArticleViewer.this.attachedToWindow = true;
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
ArticleViewer.this.attachedToWindow = false;
VideoPlayerHolderBase videoPlayerHolderBase = ArticleViewer.this.videoPlayer;
if (videoPlayerHolderBase != null) {
videoPlayerHolderBase.release((Runnable) null);
ArticleViewer.this.videoPlayer = null;
}
ArticleViewer.this.currentPlayer = null;
}
@Override
public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
handleTouchEvent(null);
super.requestDisallowInterceptTouchEvent(disallowIntercept);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return !ArticleViewer.this.collapsed && (handleTouchEvent(ev) || super.onInterceptTouchEvent(ev));
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return !ArticleViewer.this.collapsed && (handleTouchEvent(event) || super.onTouchEvent(event));
}
@Keep
public void setInnerTranslationX(float value) {
this.innerTranslationX = value;
if (ArticleViewer.this.parentActivity instanceof LaunchActivity) {
((LaunchActivity) ArticleViewer.this.parentActivity).drawerLayoutContainer.setAllowDrawContent((ArticleViewer.this.isVisible && this.alpha == 1.0f && this.innerTranslationX == 0.0f) ? false : true);
}
invalidate();
}
@Override
public boolean drawChild(Canvas canvas, View child, long drawingTime) {
int measuredWidth = getMeasuredWidth();
int i = (int) this.innerTranslationX;
int save = canvas.save();
canvas.clipRect(i, 0, measuredWidth, getHeight());
boolean drawChild = super.drawChild(canvas, child, drawingTime);
canvas.restoreToCount(save);
if (i != 0 && child == ArticleViewer.this.containerView) {
float f = measuredWidth - i;
float min = Math.min(0.8f, f / measuredWidth);
if (min < 0.0f) {
min = 0.0f;
}
ArticleViewer.this.scrimPaint.setColor(((int) (min * 153.0f)) << 24);
canvas.drawRect(0.0f, 0.0f, i, getHeight(), ArticleViewer.this.scrimPaint);
float max = Math.max(0.0f, Math.min(f / AndroidUtilities.dp(20.0f), 1.0f));
ArticleViewer.this.layerShadowDrawable.setBounds(i - ArticleViewer.this.layerShadowDrawable.getIntrinsicWidth(), child.getTop(), i, child.getBottom());
ArticleViewer.this.layerShadowDrawable.setAlpha((int) (max * 255.0f));
ArticleViewer.this.layerShadowDrawable.draw(canvas);
}
return drawChild;
}
@Keep
public float getInnerTranslationX() {
return this.innerTranslationX;
}
public final void prepareForMoving(MotionEvent ev) {
this.maybeStartTracking = false;
this.startedTracking = true;
this.startedTrackingX = (int) ev.getX();
if (ArticleViewer.this.pagesStack.size() > 1) {
this.movingPage = true;
this.startMovingHeaderHeight = ArticleViewer.this.currentHeaderHeight;
ArticleViewer.this.listView[1].setVisibility(0);
ArticleViewer.this.listView[1].setAlpha(1.0f);
ArticleViewer.this.listView[1].setTranslationX(0.0f);
ArticleViewer.this.listView[0].setBackgroundColor(ArticleViewer.this.backgroundPaint.getColor());
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.updateInterfaceForCurrentPage((TLRPC.WebPage) articleViewer.pagesStack.get(ArticleViewer.this.pagesStack.size() - 2), true, -1);
} else {
this.movingPage = false;
}
ArticleViewer.this.cancelCheckLongPress();
}
public boolean handleTouchEvent(MotionEvent event) {
if (ArticleViewer.this.pageSwitchAnimation != null || ArticleViewer.this.closeAnimationInProgress || ArticleViewer.this.fullscreenVideoContainer.getVisibility() == 0 || ArticleViewer.this.textSelectionHelper.isInSelectionMode()) {
return false;
}
if (event != null && event.getAction() == 0 && !this.startedTracking && !this.maybeStartTracking) {
this.startedTrackingPointerId = event.getPointerId(0);
this.maybeStartTracking = true;
this.startedTrackingX = (int) event.getX();
this.startedTrackingY = (int) event.getY();
VelocityTracker velocityTracker = this.tracker;
if (velocityTracker != null) {
velocityTracker.clear();
}
} else if (event != null && event.getAction() == 2 && event.getPointerId(0) == this.startedTrackingPointerId) {
if (this.tracker == null) {
this.tracker = VelocityTracker.obtain();
}
int max = Math.max(0, (int) (event.getX() - this.startedTrackingX));
int abs = Math.abs(((int) event.getY()) - this.startedTrackingY);
this.tracker.addMovement(event);
if (this.maybeStartTracking && !this.startedTracking && max >= AndroidUtilities.getPixelsInCM(0.4f, true) && Math.abs(max) / 3 > abs) {
prepareForMoving(event);
} else if (this.startedTracking) {
ArticleViewer.this.pressedLinkOwnerLayout = null;
ArticleViewer.this.pressedLinkOwnerView = null;
if (this.movingPage) {
ArticleViewer.this.listView[0].setTranslationX(max);
} else {
float f = max;
ArticleViewer.this.containerView.setTranslationX(f);
setInnerTranslationX(f);
}
}
} else if (event != null && event.getPointerId(0) == this.startedTrackingPointerId && (event.getAction() == 3 || event.getAction() == 1 || event.getAction() == 6)) {
if (this.tracker == null) {
this.tracker = VelocityTracker.obtain();
}
this.tracker.computeCurrentVelocity(1000);
float xVelocity = this.tracker.getXVelocity();
float yVelocity = this.tracker.getYVelocity();
if (!this.startedTracking && xVelocity >= 3500.0f && xVelocity > Math.abs(yVelocity)) {
prepareForMoving(event);
}
if (this.startedTracking) {
FrameLayout frameLayout = this.movingPage ? ArticleViewer.this.listView[0] : ArticleViewer.this.containerView;
float x = frameLayout.getX();
final boolean z = x < ((float) frameLayout.getMeasuredWidth()) / 3.0f && (xVelocity < 3500.0f || xVelocity < yVelocity);
AnimatorSet animatorSet = new AnimatorSet();
if (!z) {
x = frameLayout.getMeasuredWidth() - x;
if (this.movingPage) {
animatorSet.playTogether(ObjectAnimator.ofFloat(ArticleViewer.this.listView[0], (Property<RecyclerListView, Float>) View.TRANSLATION_X, frameLayout.getMeasuredWidth()));
} else {
animatorSet.playTogether(ObjectAnimator.ofFloat(ArticleViewer.this.containerView, (Property<FrameLayout, Float>) View.TRANSLATION_X, frameLayout.getMeasuredWidth()), ObjectAnimator.ofFloat(this, ArticleViewer.ARTICLE_VIEWER_INNER_TRANSLATION_X, frameLayout.getMeasuredWidth()));
}
} else if (this.movingPage) {
animatorSet.playTogether(ObjectAnimator.ofFloat(ArticleViewer.this.listView[0], (Property<RecyclerListView, Float>) View.TRANSLATION_X, 0.0f));
} else {
animatorSet.playTogether(ObjectAnimator.ofFloat(ArticleViewer.this.containerView, (Property<FrameLayout, Float>) View.TRANSLATION_X, 0.0f), ObjectAnimator.ofFloat(this, ArticleViewer.ARTICLE_VIEWER_INNER_TRANSLATION_X, 0.0f));
}
animatorSet.setDuration(Math.max((int) ((200.0f / frameLayout.getMeasuredWidth()) * x), 50));
animatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animator) {
if (WindowView.this.movingPage) {
ArticleViewer.this.listView[0].setBackgroundDrawable(null);
if (!z) {
WebpageAdapter webpageAdapter = ArticleViewer.this.adapter[1];
ArticleViewer.this.adapter[1] = ArticleViewer.this.adapter[0];
ArticleViewer.this.adapter[0] = webpageAdapter;
RecyclerListView recyclerListView = ArticleViewer.this.listView[1];
ArticleViewer.this.listView[1] = ArticleViewer.this.listView[0];
ArticleViewer.this.listView[0] = recyclerListView;
LinearLayoutManager linearLayoutManager = ArticleViewer.this.layoutManager[1];
ArticleViewer.this.layoutManager[1] = ArticleViewer.this.layoutManager[0];
ArticleViewer.this.layoutManager[0] = linearLayoutManager;
ArticleViewer.this.pagesStack.remove(ArticleViewer.this.pagesStack.size() - 1);
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.textSelectionHelper.setParentView(articleViewer.listView[0]);
ArticleViewer articleViewer2 = ArticleViewer.this;
articleViewer2.textSelectionHelper.layoutManager = articleViewer2.layoutManager[0];
ArticleViewer.this.titleTextView.setText(ArticleViewer.this.adapter[0].currentPage.site_name == null ? "" : ArticleViewer.this.adapter[0].currentPage.site_name);
ArticleViewer.this.textSelectionHelper.clear(true);
ArticleViewer.this.headerView.invalidate();
}
ArticleViewer.this.listView[1].setVisibility(8);
ArticleViewer.this.headerView.invalidate();
} else if (!z) {
ArticleViewer.this.saveCurrentPagePosition();
ArticleViewer.this.onClosed();
}
WindowView.this.movingPage = false;
WindowView.this.startedTracking = false;
ArticleViewer.this.closeAnimationInProgress = false;
}
});
animatorSet.start();
ArticleViewer.this.closeAnimationInProgress = true;
} else {
this.maybeStartTracking = false;
this.startedTracking = false;
this.movingPage = false;
}
VelocityTracker velocityTracker2 = this.tracker;
if (velocityTracker2 != null) {
velocityTracker2.recycle();
this.tracker = null;
}
} else if (event == null) {
this.maybeStartTracking = false;
this.startedTracking = false;
this.movingPage = false;
VelocityTracker velocityTracker3 = this.tracker;
if (velocityTracker3 != null) {
velocityTracker3.recycle();
this.tracker = null;
}
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = ArticleViewer.this.textSelectionHelper;
if (articleTextSelectionHelper != null && !articleTextSelectionHelper.isInSelectionMode()) {
ArticleViewer.this.textSelectionHelper.clear();
}
}
return this.startedTracking;
}
@Override
public void dispatchDraw(Canvas canvas) {
int i;
super.dispatchDraw(canvas);
if ((Build.VERSION.SDK_INT >= 21 && ArticleViewer.this.lastInsets != null) || this.bWidth == 0 || this.bHeight == 0) {
return;
}
this.blackPaint.setAlpha((int) (ArticleViewer.this.windowView.getAlpha() * 255.0f));
int i2 = this.bX;
if (i2 == 0 && (i = this.bY) == 0) {
canvas.drawRect(i2, i, i2 + this.bWidth, i + this.bHeight, this.blackPaint);
} else {
canvas.drawRect(i2 - getTranslationX(), this.bY, (this.bX + this.bWidth) - getTranslationX(), this.bY + this.bHeight, this.blackPaint);
}
}
@Override
public void onDraw(Canvas canvas) {
int measuredWidth = getMeasuredWidth();
float f = measuredWidth;
float measuredHeight = getMeasuredHeight();
canvas.drawRect(this.innerTranslationX, 0.0f, f, measuredHeight, ArticleViewer.this.backgroundPaint);
if (Build.VERSION.SDK_INT < 21 || ArticleViewer.this.lastInsets == null) {
return;
}
WindowInsets windowInsets = (WindowInsets) ArticleViewer.this.lastInsets;
canvas.drawRect(this.innerTranslationX, 0.0f, f, windowInsets.getSystemWindowInsetTop(), ArticleViewer.this.statusBarPaint);
if (ArticleViewer.this.hasCutout) {
int systemWindowInsetLeft = windowInsets.getSystemWindowInsetLeft();
if (systemWindowInsetLeft != 0) {
canvas.drawRect(0.0f, 0.0f, systemWindowInsetLeft, measuredHeight, ArticleViewer.this.statusBarPaint);
}
if (windowInsets.getSystemWindowInsetRight() != 0) {
canvas.drawRect(measuredWidth - r3, 0.0f, f, measuredHeight, ArticleViewer.this.statusBarPaint);
}
}
canvas.drawRect(0.0f, r1 - windowInsets.getStableInsetBottom(), f, measuredHeight, ArticleViewer.this.navigationBarPaint);
}
@Override
@Keep
public void setAlpha(float value) {
int i = (int) (255.0f * value);
ArticleViewer.this.backgroundPaint.setAlpha(i);
ArticleViewer.this.statusBarPaint.setAlpha(i);
this.alpha = value;
if (ArticleViewer.this.parentActivity instanceof LaunchActivity) {
((LaunchActivity) ArticleViewer.this.parentActivity).drawerLayoutContainer.setAllowDrawContent((ArticleViewer.this.isVisible && this.alpha == 1.0f && this.innerTranslationX == 0.0f) ? false : true);
}
invalidate();
}
@Override
@Keep
public float getAlpha() {
return this.alpha;
}
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {
if (event != null && event.getKeyCode() == 4 && event.getAction() == 1) {
if (ArticleViewer.this.searchField.isFocused()) {
ArticleViewer.this.searchField.clearFocus();
AndroidUtilities.hideKeyboard(ArticleViewer.this.searchField);
} else {
ArticleViewer.this.close(true, false);
}
return true;
}
return super.dispatchKeyEventPreIme(event);
}
}
public class CheckForLongPress implements Runnable {
public int currentPressCount;
public CheckForLongPress() {
}
@Override
public void run() {
ArticleViewer articleViewer;
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper;
if (!ArticleViewer.this.checkingForLongPress || ArticleViewer.this.windowView == null) {
return;
}
ArticleViewer.this.checkingForLongPress = false;
if (ArticleViewer.this.pressedLink != null) {
if (!PlusSettings.disableActionsVibrations) {
ArticleViewer.this.windowView.performHapticFeedback(0, 2);
}
ArticleViewer articleViewer2 = ArticleViewer.this;
articleViewer2.showCopyPopup(articleViewer2.pressedLink.getSpan().getUrl());
ArticleViewer.this.pressedLink = null;
ArticleViewer.this.pressedLinkOwnerLayout = null;
if (ArticleViewer.this.pressedLinkOwnerView != null) {
ArticleViewer.this.pressedLinkOwnerView.invalidate();
return;
}
return;
}
if (ArticleViewer.this.pressedLinkOwnerView != null) {
ArticleViewer articleViewer3 = ArticleViewer.this;
if (articleViewer3.textSelectionHelper.isSelectable(articleViewer3.pressedLinkOwnerView)) {
if (ArticleViewer.this.pressedLinkOwnerView.getTag() != null && ArticleViewer.this.pressedLinkOwnerView.getTag() == "bottomSheet" && (articleTextSelectionHelper = (articleViewer = ArticleViewer.this).textSelectionHelperBottomSheet) != null) {
articleTextSelectionHelper.trySelect(articleViewer.pressedLinkOwnerView);
} else {
ArticleViewer articleViewer4 = ArticleViewer.this;
articleViewer4.textSelectionHelper.trySelect(articleViewer4.pressedLinkOwnerView);
}
if (!ArticleViewer.this.textSelectionHelper.isInSelectionMode() || PlusSettings.disableActionsVibrations) {
return;
}
ArticleViewer.this.windowView.performHapticFeedback(0, 2);
return;
}
}
if (ArticleViewer.this.pressedLinkOwnerLayout == null || ArticleViewer.this.pressedLinkOwnerView == null) {
return;
}
if (!PlusSettings.disableActionsVibrations) {
ArticleViewer.this.windowView.performHapticFeedback(0, 2);
}
int[] iArr = new int[2];
ArticleViewer.this.pressedLinkOwnerView.getLocationInWindow(iArr);
int dp = (iArr[1] + ArticleViewer.this.pressedLayoutY) - AndroidUtilities.dp(54.0f);
if (dp < 0) {
dp = 0;
}
ArticleViewer.this.pressedLinkOwnerView.invalidate();
ArticleViewer.this.drawBlockSelection = true;
ArticleViewer articleViewer5 = ArticleViewer.this;
articleViewer5.showPopup(articleViewer5.pressedLinkOwnerView, 48, 0, dp);
ArticleViewer.this.listView[0].setLayoutFrozen(true);
ArticleViewer.this.listView[0].setLayoutFrozen(false);
}
}
public final void createPaint(boolean update) {
if (quoteLinePaint == null) {
quoteLinePaint = new Paint();
preformattedBackgroundPaint = new Paint();
Paint paint = new Paint(1);
tableLinePaint = paint;
paint.setStyle(Paint.Style.STROKE);
tableLinePaint.setStrokeWidth(AndroidUtilities.dp(1.0f));
Paint paint2 = new Paint();
tableHalfLinePaint = paint2;
paint2.setStyle(Paint.Style.STROKE);
tableHalfLinePaint.setStrokeWidth(AndroidUtilities.dp(1.0f) / 2.0f);
tableHeaderPaint = new Paint();
tableStripPaint = new Paint();
urlPaint = new Paint();
webpageUrlPaint = new Paint(1);
webpageSearchPaint = new Paint(1);
photoBackgroundPaint = new Paint();
dividerPaint = new Paint();
webpageMarkPaint = new Paint(1);
} else if (!update) {
return;
}
int color = Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite);
webpageSearchPaint.setColor((((((float) Color.red(color)) * 0.2126f) + (((float) Color.green(color)) * 0.7152f)) + (((float) Color.blue(color)) * 0.0722f)) / 255.0f <= 0.705f ? -3041234 : -6551);
webpageUrlPaint.setColor((Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteLinkSelection)) & 872415231);
webpageUrlPaint.setPathEffect(LinkPath.getRoundedEffect());
urlPaint.setColor((Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteLinkSelection)) & 872415231);
urlPaint.setPathEffect(LinkPath.getRoundedEffect());
tableHalfLinePaint.setColor(Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteInputField));
tableLinePaint.setColor(Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteInputField));
photoBackgroundPaint.setColor(251658240);
dividerPaint.setColor(Theme.getColor(Theme.key_divider));
webpageMarkPaint.setColor((Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteLinkSelection)) & 872415231);
webpageMarkPaint.setPathEffect(LinkPath.getRoundedEffect());
int color2 = Theme.getColor(Theme.key_switchTrack);
int red = Color.red(color2);
int green = Color.green(color2);
int blue = Color.blue(color2);
tableStripPaint.setColor(Color.argb(20, red, green, blue));
tableHeaderPaint.setColor(Color.argb(34, red, green, blue));
int color3 = Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteLinkSelection);
preformattedBackgroundPaint.setColor(Color.argb(20, Color.red(color3), Color.green(color3), Color.blue(color3)));
quoteLinePaint.setColor(Theme.getColor(Theme.key_chat_inReplyLine));
}
public final void showCopyPopup(final String urlFinal) {
String str;
if (this.parentActivity == null) {
return;
}
BottomSheet bottomSheet = this.linkSheet;
if (bottomSheet != null) {
bottomSheet.dismiss();
this.linkSheet = null;
}
BottomSheet.Builder builder = new BottomSheet.Builder(this.parentActivity);
try {
str = URLDecoder.decode(urlFinal.replaceAll("\\+", "%2b"), "UTF-8");
} catch (Exception e) {
FileLog.e(e);
str = urlFinal;
}
builder.setTitle(str);
builder.setTitleMultipleLines(true);
builder.setItems(new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
ArticleViewer.this.lambda$showCopyPopup$0(urlFinal, dialogInterface, i);
}
});
builder.setOnPreDismissListener(new DialogInterface.OnDismissListener() {
@Override
public final void onDismiss(DialogInterface dialogInterface) {
ArticleViewer.this.lambda$showCopyPopup$1(dialogInterface);
}
});
showDialog(builder.create());
}
public void lambda$showCopyPopup$0(String str, DialogInterface dialogInterface, int i) {
String lowerCase;
String str2;
if (this.parentActivity == null) {
return;
}
if (i != 0) {
if (i == 1) {
if (str.startsWith("mailto:")) {
str = str.substring(7);
} else if (str.startsWith("tel:")) {
str = str.substring(4);
}
AndroidUtilities.addToClipboard(str);
return;
}
return;
}
int lastIndexOf = str.lastIndexOf(35);
if (lastIndexOf != -1) {
if (!TextUtils.isEmpty(this.adapter[0].currentPage.cached_page.url)) {
lowerCase = this.adapter[0].currentPage.cached_page.url.toLowerCase();
} else {
lowerCase = this.adapter[0].currentPage.url.toLowerCase();
}
try {
str2 = URLDecoder.decode(str.substring(lastIndexOf + 1), "UTF-8");
} catch (Exception unused) {
str2 = "";
}
if (str.toLowerCase().contains(lowerCase)) {
if (TextUtils.isEmpty(str2)) {
this.layoutManager[0].scrollToPositionWithOffset(0, 0);
checkScrollAnimated();
return;
} else {
scrollToAnchor(str2);
return;
}
}
}
Browser.openUrl(this.parentActivity, str);
}
public void lambda$showCopyPopup$1(DialogInterface dialogInterface) {
this.links.clear();
}
public final void showPopup(View parent, int gravity, int x, int y) {
ActionBarPopupWindow actionBarPopupWindow = this.popupWindow;
if (actionBarPopupWindow != null && actionBarPopupWindow.isShowing()) {
this.popupWindow.dismiss();
return;
}
if (this.popupLayout == null) {
this.popupRect = new Rect();
ActionBarPopupWindow.ActionBarPopupWindowLayout actionBarPopupWindowLayout = new ActionBarPopupWindow.ActionBarPopupWindowLayout(this.parentActivity);
this.popupLayout = actionBarPopupWindowLayout;
actionBarPopupWindowLayout.setPadding(AndroidUtilities.dp(1.0f), AndroidUtilities.dp(1.0f), AndroidUtilities.dp(1.0f), AndroidUtilities.dp(1.0f));
this.popupLayout.setBackgroundDrawable(this.parentActivity.getResources().getDrawable(R.drawable.menu_copy));
this.popupLayout.setAnimationEnabled(false);
this.popupLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view, MotionEvent motionEvent) {
boolean lambda$showPopup$2;
lambda$showPopup$2 = ArticleViewer.this.lambda$showPopup$2(view, motionEvent);
return lambda$showPopup$2;
}
});
this.popupLayout.setDispatchKeyEventListener(new ActionBarPopupWindow.OnDispatchKeyEventListener() {
@Override
public final void onDispatchKeyEvent(KeyEvent keyEvent) {
ArticleViewer.this.lambda$showPopup$3(keyEvent);
}
});
this.popupLayout.setShownFromBottom(false);
TextView textView = new TextView(this.parentActivity);
this.deleteView = textView;
textView.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 2));
this.deleteView.setGravity(16);
this.deleteView.setPadding(AndroidUtilities.dp(20.0f), 0, AndroidUtilities.dp(20.0f), 0);
this.deleteView.setTextSize(1, 15.0f);
this.deleteView.setTypeface(AndroidUtilities.bold());
this.deleteView.setText(LocaleController.getString("Copy", R.string.Copy).toUpperCase());
this.deleteView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
ArticleViewer.this.lambda$showPopup$4(view);
}
});
this.popupLayout.addView(this.deleteView, LayoutHelper.createFrame(-2, 48.0f));
ActionBarPopupWindow actionBarPopupWindow2 = new ActionBarPopupWindow(this.popupLayout, -2, -2);
this.popupWindow = actionBarPopupWindow2;
actionBarPopupWindow2.setAnimationEnabled(false);
this.popupWindow.setAnimationStyle(R.style.PopupContextAnimation);
this.popupWindow.setOutsideTouchable(true);
this.popupWindow.setClippingEnabled(true);
this.popupWindow.setInputMethodMode(2);
this.popupWindow.setSoftInputMode(0);
this.popupWindow.getContentView().setFocusableInTouchMode(true);
this.popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public final void onDismiss() {
ArticleViewer.this.lambda$showPopup$5();
}
});
}
this.deleteView.setTextColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem));
ActionBarPopupWindow.ActionBarPopupWindowLayout actionBarPopupWindowLayout2 = this.popupLayout;
if (actionBarPopupWindowLayout2 != null) {
actionBarPopupWindowLayout2.setBackgroundColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuBackground));
}
this.popupLayout.measure(View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(1000.0f), Integer.MIN_VALUE), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(1000.0f), Integer.MIN_VALUE));
this.popupWindow.setFocusable(true);
this.popupWindow.showAtLocation(parent, gravity, x, y);
this.popupWindow.startAnimation();
}
public boolean lambda$showPopup$2(View view, MotionEvent motionEvent) {
ActionBarPopupWindow actionBarPopupWindow;
if (motionEvent.getActionMasked() != 0 || (actionBarPopupWindow = this.popupWindow) == null || !actionBarPopupWindow.isShowing()) {
return false;
}
view.getHitRect(this.popupRect);
if (this.popupRect.contains((int) motionEvent.getX(), (int) motionEvent.getY())) {
return false;
}
this.popupWindow.dismiss();
return false;
}
public void lambda$showPopup$3(KeyEvent keyEvent) {
ActionBarPopupWindow actionBarPopupWindow;
if (keyEvent.getKeyCode() == 4 && keyEvent.getRepeatCount() == 0 && (actionBarPopupWindow = this.popupWindow) != null && actionBarPopupWindow.isShowing()) {
this.popupWindow.dismiss();
}
}
public void lambda$showPopup$4(View view) {
DrawingText drawingText = this.pressedLinkOwnerLayout;
if (drawingText != null) {
AndroidUtilities.addToClipboard(drawingText.getText());
if (AndroidUtilities.shouldShowClipboardToast()) {
Toast.makeText(this.parentActivity, LocaleController.getString("TextCopied", R.string.TextCopied), 0).show();
}
}
ActionBarPopupWindow actionBarPopupWindow = this.popupWindow;
if (actionBarPopupWindow == null || !actionBarPopupWindow.isShowing()) {
return;
}
this.popupWindow.dismiss(true);
}
public void lambda$showPopup$5() {
View view = this.pressedLinkOwnerView;
if (view != null) {
this.pressedLinkOwnerLayout = null;
view.invalidate();
this.pressedLinkOwnerView = null;
}
}
public final TLRPC.RichText getBlockCaption(TLRPC.PageBlock block, int type) {
if (type == 2) {
TLRPC.RichText blockCaption = getBlockCaption(block, 0);
if (blockCaption instanceof TLRPC.TL_textEmpty) {
blockCaption = null;
}
TLRPC.RichText blockCaption2 = getBlockCaption(block, 1);
if (blockCaption2 instanceof TLRPC.TL_textEmpty) {
blockCaption2 = null;
}
if (blockCaption != null && blockCaption2 == null) {
return blockCaption;
}
if (blockCaption == null && blockCaption2 != null) {
return blockCaption2;
}
if (blockCaption == null || blockCaption2 == null) {
return null;
}
TLRPC.TL_textPlain tL_textPlain = new TLRPC.TL_textPlain();
tL_textPlain.text = " ";
TLRPC.TL_textConcat tL_textConcat = new TLRPC.TL_textConcat();
((TLRPC.RichText) tL_textConcat).texts.add(blockCaption);
((TLRPC.RichText) tL_textConcat).texts.add(tL_textPlain);
((TLRPC.RichText) tL_textConcat).texts.add(blockCaption2);
return tL_textConcat;
}
if (block instanceof TLRPC.TL_pageBlockEmbedPost) {
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost = (TLRPC.TL_pageBlockEmbedPost) block;
if (type == 0) {
return tL_pageBlockEmbedPost.caption.text;
}
if (type == 1) {
return tL_pageBlockEmbedPost.caption.credit;
}
} else if (block instanceof TLRPC.TL_pageBlockSlideshow) {
TLRPC.TL_pageBlockSlideshow tL_pageBlockSlideshow = (TLRPC.TL_pageBlockSlideshow) block;
if (type == 0) {
return tL_pageBlockSlideshow.caption.text;
}
if (type == 1) {
return tL_pageBlockSlideshow.caption.credit;
}
} else if (block instanceof TLRPC.TL_pageBlockPhoto) {
TLRPC.TL_pageBlockPhoto tL_pageBlockPhoto = (TLRPC.TL_pageBlockPhoto) block;
if (type == 0) {
return tL_pageBlockPhoto.caption.text;
}
if (type == 1) {
return tL_pageBlockPhoto.caption.credit;
}
} else if (block instanceof TLRPC.TL_pageBlockCollage) {
TLRPC.TL_pageBlockCollage tL_pageBlockCollage = (TLRPC.TL_pageBlockCollage) block;
if (type == 0) {
return tL_pageBlockCollage.caption.text;
}
if (type == 1) {
return tL_pageBlockCollage.caption.credit;
}
} else if (block instanceof TLRPC.TL_pageBlockEmbed) {
TLRPC.TL_pageBlockEmbed tL_pageBlockEmbed = (TLRPC.TL_pageBlockEmbed) block;
if (type == 0) {
return tL_pageBlockEmbed.caption.text;
}
if (type == 1) {
return tL_pageBlockEmbed.caption.credit;
}
} else {
if (block instanceof TLRPC.TL_pageBlockBlockquote) {
return ((TLRPC.TL_pageBlockBlockquote) block).caption;
}
if (block instanceof TLRPC.TL_pageBlockVideo) {
TLRPC.TL_pageBlockVideo tL_pageBlockVideo = (TLRPC.TL_pageBlockVideo) block;
if (type == 0) {
return tL_pageBlockVideo.caption.text;
}
if (type == 1) {
return tL_pageBlockVideo.caption.credit;
}
} else {
if (block instanceof TLRPC.TL_pageBlockPullquote) {
return ((TLRPC.TL_pageBlockPullquote) block).caption;
}
if (block instanceof TLRPC.TL_pageBlockAudio) {
TLRPC.TL_pageBlockAudio tL_pageBlockAudio = (TLRPC.TL_pageBlockAudio) block;
if (type == 0) {
return tL_pageBlockAudio.caption.text;
}
if (type == 1) {
return tL_pageBlockAudio.caption.credit;
}
} else {
if (block instanceof TLRPC.TL_pageBlockCover) {
return getBlockCaption(((TLRPC.TL_pageBlockCover) block).cover, type);
}
if (block instanceof TLRPC.TL_pageBlockMap) {
TLRPC.TL_pageBlockMap tL_pageBlockMap = (TLRPC.TL_pageBlockMap) block;
if (type == 0) {
return tL_pageBlockMap.caption.text;
}
if (type == 1) {
return tL_pageBlockMap.caption.credit;
}
}
}
}
}
return null;
}
public final View getLastNonListCell(View view) {
if (view instanceof BlockListItemCell) {
BlockListItemCell blockListItemCell = (BlockListItemCell) view;
return blockListItemCell.blockLayout != null ? getLastNonListCell(blockListItemCell.blockLayout.itemView) : view;
}
if (!(view instanceof BlockOrderedListItemCell)) {
return view;
}
BlockOrderedListItemCell blockOrderedListItemCell = (BlockOrderedListItemCell) view;
return blockOrderedListItemCell.blockLayout != null ? getLastNonListCell(blockOrderedListItemCell.blockLayout.itemView) : view;
}
public final boolean isListItemBlock(TLRPC.PageBlock block) {
return (block instanceof TL_pageBlockListItem) || (block instanceof TL_pageBlockOrderedListItem);
}
public final TLRPC.PageBlock getLastNonListPageBlock(TLRPC.PageBlock block) {
if (block instanceof TL_pageBlockListItem) {
TL_pageBlockListItem tL_pageBlockListItem = (TL_pageBlockListItem) block;
if (tL_pageBlockListItem.blockItem != null) {
return getLastNonListPageBlock(tL_pageBlockListItem.blockItem);
}
return tL_pageBlockListItem.blockItem;
}
if (!(block instanceof TL_pageBlockOrderedListItem)) {
return block;
}
TL_pageBlockOrderedListItem tL_pageBlockOrderedListItem = (TL_pageBlockOrderedListItem) block;
if (tL_pageBlockOrderedListItem.blockItem != null) {
return getLastNonListPageBlock(tL_pageBlockOrderedListItem.blockItem);
}
return tL_pageBlockOrderedListItem.blockItem;
}
public final boolean openAllParentBlocks(TL_pageBlockDetailsChild child) {
boolean z;
TLRPC.TL_pageBlockDetails lastNonListPageBlock = getLastNonListPageBlock(child.parent);
if (lastNonListPageBlock instanceof TLRPC.TL_pageBlockDetails) {
TLRPC.TL_pageBlockDetails tL_pageBlockDetails = lastNonListPageBlock;
if (tL_pageBlockDetails.open) {
return false;
}
tL_pageBlockDetails.open = true;
return true;
}
if (!(lastNonListPageBlock instanceof TL_pageBlockDetailsChild)) {
return false;
}
TL_pageBlockDetailsChild tL_pageBlockDetailsChild = (TL_pageBlockDetailsChild) lastNonListPageBlock;
TLRPC.TL_pageBlockDetails lastNonListPageBlock2 = getLastNonListPageBlock(tL_pageBlockDetailsChild.block);
if (lastNonListPageBlock2 instanceof TLRPC.TL_pageBlockDetails) {
TLRPC.TL_pageBlockDetails tL_pageBlockDetails2 = lastNonListPageBlock2;
if (!tL_pageBlockDetails2.open) {
tL_pageBlockDetails2.open = true;
z = true;
return !openAllParentBlocks(tL_pageBlockDetailsChild) || z;
}
}
z = false;
if (openAllParentBlocks(tL_pageBlockDetailsChild)) {
}
}
public final TLRPC.PageBlock fixListBlock(TLRPC.PageBlock parentBlock, TLRPC.PageBlock childBlock) {
if (parentBlock instanceof TL_pageBlockListItem) {
((TL_pageBlockListItem) parentBlock).blockItem = childBlock;
return parentBlock;
}
if (!(parentBlock instanceof TL_pageBlockOrderedListItem)) {
return childBlock;
}
((TL_pageBlockOrderedListItem) parentBlock).blockItem = childBlock;
return parentBlock;
}
public final TLRPC.PageBlock wrapInTableBlock(TLRPC.PageBlock pageBlock, TLRPC.PageBlock pageBlock2) {
Object[] objArr = 0;
if (pageBlock instanceof TL_pageBlockListItem) {
TL_pageBlockListItem tL_pageBlockListItem = (TL_pageBlockListItem) pageBlock;
TL_pageBlockListItem tL_pageBlockListItem2 = new TL_pageBlockListItem();
tL_pageBlockListItem2.parent = tL_pageBlockListItem.parent;
tL_pageBlockListItem2.blockItem = wrapInTableBlock(tL_pageBlockListItem.blockItem, pageBlock2);
return tL_pageBlockListItem2;
}
if (!(pageBlock instanceof TL_pageBlockOrderedListItem)) {
return pageBlock2;
}
TL_pageBlockOrderedListItem tL_pageBlockOrderedListItem = (TL_pageBlockOrderedListItem) pageBlock;
TL_pageBlockOrderedListItem tL_pageBlockOrderedListItem2 = new TL_pageBlockOrderedListItem();
tL_pageBlockOrderedListItem2.parent = tL_pageBlockOrderedListItem.parent;
tL_pageBlockOrderedListItem2.blockItem = wrapInTableBlock(tL_pageBlockOrderedListItem.blockItem, pageBlock2);
return tL_pageBlockOrderedListItem2;
}
public final void updateInterfaceForCurrentPage(TLRPC.WebPage webPage, boolean z, int i) {
TLRPC.WebPage webPage2;
int i2;
int dp;
if (webPage == null || webPage.cached_page == null) {
return;
}
if (!z && i != 0) {
WebpageAdapter[] webpageAdapterArr = this.adapter;
WebpageAdapter webpageAdapter = webpageAdapterArr[1];
webpageAdapterArr[1] = webpageAdapterArr[0];
webpageAdapterArr[0] = webpageAdapter;
View[] viewArr = this.listView;
View view = viewArr[1];
viewArr[1] = viewArr[0];
viewArr[0] = view;
LinearLayoutManager[] linearLayoutManagerArr = this.layoutManager;
LinearLayoutManager linearLayoutManager = linearLayoutManagerArr[1];
linearLayoutManagerArr[1] = linearLayoutManagerArr[0];
linearLayoutManagerArr[0] = linearLayoutManager;
int indexOfChild = this.containerView.indexOfChild(viewArr[0]);
int indexOfChild2 = this.containerView.indexOfChild(this.listView[1]);
if (i == 1) {
if (indexOfChild < indexOfChild2) {
this.containerView.removeView(this.listView[0]);
this.containerView.addView(this.listView[0], indexOfChild2);
}
} else if (indexOfChild2 < indexOfChild) {
this.containerView.removeView(this.listView[0]);
this.containerView.addView(this.listView[0], indexOfChild);
}
this.pageSwitchAnimation = new AnimatorSet();
this.listView[0].setVisibility(0);
final int i3 = i == 1 ? 0 : 1;
this.listView[i3].setBackgroundColor(this.backgroundPaint.getColor());
if (Build.VERSION.SDK_INT >= 18) {
this.listView[i3].setLayerType(2, null);
}
if (i == 1) {
this.pageSwitchAnimation.playTogether(ObjectAnimator.ofFloat(this.listView[0], (Property<RecyclerListView, Float>) View.TRANSLATION_X, AndroidUtilities.dp(56.0f), 0.0f), ObjectAnimator.ofFloat(this.listView[0], (Property<RecyclerListView, Float>) View.ALPHA, 0.0f, 1.0f));
} else if (i == -1) {
this.listView[0].setAlpha(1.0f);
this.listView[0].setTranslationX(0.0f);
this.pageSwitchAnimation.playTogether(ObjectAnimator.ofFloat(this.listView[1], (Property<RecyclerListView, Float>) View.TRANSLATION_X, 0.0f, AndroidUtilities.dp(56.0f)), ObjectAnimator.ofFloat(this.listView[1], (Property<RecyclerListView, Float>) View.ALPHA, 1.0f, 0.0f));
}
this.pageSwitchAnimation.setDuration(150L);
this.pageSwitchAnimation.setInterpolator(this.interpolator);
this.pageSwitchAnimation.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
ArticleViewer.this.listView[1].setVisibility(8);
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.textSelectionHelper.setParentView(articleViewer.listView[0]);
ArticleViewer articleViewer2 = ArticleViewer.this;
articleViewer2.textSelectionHelper.layoutManager = articleViewer2.layoutManager[0];
ArticleViewer.this.listView[i3].setBackgroundDrawable(null);
if (Build.VERSION.SDK_INT >= 18) {
ArticleViewer.this.listView[i3].setLayerType(0, null);
}
ArticleViewer.this.pageSwitchAnimation = null;
}
});
this.pageSwitchAnimation.start();
}
if (!z) {
SimpleTextView simpleTextView = this.titleTextView;
String str = webPage.site_name;
if (str == null) {
str = "";
}
simpleTextView.setText(str);
this.textSelectionHelper.clear(true);
this.headerView.invalidate();
}
if (z) {
ArrayList<TLRPC.WebPage> arrayList = this.pagesStack;
webPage2 = arrayList.get(arrayList.size() - 2);
} else {
webPage2 = webPage;
}
this.adapter[z ? 1 : 0].isRtl = webPage.cached_page.rtl;
this.adapter[z ? 1 : 0].cleanup();
this.adapter[z ? 1 : 0].currentPage = webPage2;
int size = webPage2.cached_page.blocks.size();
while (i2 < size) {
TLRPC.TL_pageBlockCover tL_pageBlockCover = (TLRPC.PageBlock) webPage2.cached_page.blocks.get(i2);
if (i2 == 0) {
((TLRPC.PageBlock) tL_pageBlockCover).first = true;
if (tL_pageBlockCover instanceof TLRPC.TL_pageBlockCover) {
TLRPC.TL_pageBlockCover tL_pageBlockCover2 = tL_pageBlockCover;
TLRPC.RichText blockCaption = getBlockCaption(tL_pageBlockCover2, 0);
TLRPC.RichText blockCaption2 = getBlockCaption(tL_pageBlockCover2, 1);
if (((blockCaption != null && !(blockCaption instanceof TLRPC.TL_textEmpty)) || (blockCaption2 != null && !(blockCaption2 instanceof TLRPC.TL_textEmpty))) && size > 1) {
TLRPC.TL_pageBlockChannel tL_pageBlockChannel = (TLRPC.PageBlock) webPage2.cached_page.blocks.get(1);
if (tL_pageBlockChannel instanceof TLRPC.TL_pageBlockChannel) {
this.adapter[z ? 1 : 0].channelBlock = tL_pageBlockChannel;
}
}
}
} else {
i2 = (i2 == 1 && this.adapter[z ? 1 : 0].channelBlock != null) ? i2 + 1 : 0;
}
WebpageAdapter[] webpageAdapterArr2 = this.adapter;
webpageAdapterArr2[z ? 1 : 0].addBlock(webpageAdapterArr2[z ? 1 : 0], tL_pageBlockCover, 0, 0, i2 == size + (-1) ? i2 : 0);
}
this.adapter[z ? 1 : 0].notifyDataSetChanged();
if (this.pagesStack.size() == 1 || i == -1) {
SharedPreferences sharedPreferences = ApplicationLoader.applicationContext.getSharedPreferences("articles", 0);
String str2 = "article" + webPage2.id;
int i4 = sharedPreferences.getInt(str2, -1);
boolean z2 = sharedPreferences.getBoolean(str2 + "r", true);
Point point = AndroidUtilities.displaySize;
if (z2 == (point.x > point.y)) {
dp = sharedPreferences.getInt(str2 + "o", 0) - this.listView[z ? 1 : 0].getPaddingTop();
} else {
dp = AndroidUtilities.dp(10.0f);
}
if (i4 != -1) {
this.layoutManager[z ? 1 : 0].scrollToPositionWithOffset(i4, dp);
}
} else {
this.layoutManager[z ? 1 : 0].scrollToPositionWithOffset(0, 0);
}
if (z) {
return;
}
checkScrollAnimated();
}
public final boolean addPageToStack(TLRPC.WebPage webPage, String anchor, int order) {
saveCurrentPagePosition();
this.pagesStack.add(webPage);
showSearch(false);
updateInterfaceForCurrentPage(webPage, false, order);
return scrollToAnchor(anchor);
}
public final boolean scrollToAnchor(String anchor) {
Integer num = 0;
if (TextUtils.isEmpty(anchor)) {
return false;
}
String lowerCase = anchor.toLowerCase();
Integer num2 = (Integer) this.adapter[0].anchors.get(lowerCase);
if (num2 != null) {
TLRPC.TL_textAnchor tL_textAnchor = (TLRPC.TL_textAnchor) this.adapter[0].anchorsParent.get(lowerCase);
if (tL_textAnchor != null) {
TLRPC.TL_pageBlockParagraph tL_pageBlockParagraph = new TLRPC.TL_pageBlockParagraph();
tL_pageBlockParagraph.text = tL_textAnchor.text;
int typeForBlock = this.adapter[0].getTypeForBlock(tL_pageBlockParagraph);
RecyclerView.ViewHolder onCreateViewHolder = this.adapter[0].onCreateViewHolder(null, typeForBlock);
this.adapter[0].bindBlockToHolder(typeForBlock, onCreateViewHolder, tL_pageBlockParagraph, 0, 0);
BottomSheet.Builder builder = new BottomSheet.Builder(this.parentActivity);
builder.setApplyTopPadding(false);
builder.setApplyBottomPadding(false);
final LinearLayout linearLayout = new LinearLayout(this.parentActivity);
linearLayout.setOrientation(1);
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = new TextSelectionHelper.ArticleTextSelectionHelper();
this.textSelectionHelperBottomSheet = articleTextSelectionHelper;
articleTextSelectionHelper.setParentView(linearLayout);
this.textSelectionHelperBottomSheet.setCallback(new TextSelectionHelper.Callback() {
@Override
public void onStateChanged(boolean isSelected) {
if (ArticleViewer.this.linkSheet != null) {
ArticleViewer.this.linkSheet.setDisableScroll(isSelected);
}
}
});
TextView textView = new TextView(this, this.parentActivity) {
@Override
public void onDraw(Canvas canvas) {
canvas.drawLine(0.0f, getMeasuredHeight() - 1, getMeasuredWidth(), getMeasuredHeight() - 1, ArticleViewer.dividerPaint);
super.onDraw(canvas);
}
};
textView.setTextSize(1, 16.0f);
textView.setTypeface(AndroidUtilities.bold());
textView.setText(LocaleController.getString("InstantViewReference", R.string.InstantViewReference));
textView.setGravity((this.adapter[0].isRtl ? 5 : 3) | 16);
textView.setTextColor(getTextColor());
textView.setPadding(AndroidUtilities.dp(18.0f), 0, AndroidUtilities.dp(18.0f), 0);
linearLayout.addView(textView, new LinearLayout.LayoutParams(-1, AndroidUtilities.dp(48.0f) + 1));
onCreateViewHolder.itemView.setTag("bottomSheet");
linearLayout.addView(onCreateViewHolder.itemView, LayoutHelper.createLinear(-1, -2, 0.0f, 7.0f, 0.0f, 0.0f));
TextSelectionHelper<Cell>.TextSelectionOverlay overlayView = this.textSelectionHelperBottomSheet.getOverlayView(this.parentActivity);
FrameLayout frameLayout = new FrameLayout(this.parentActivity) {
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
TextSelectionHelper<Cell>.TextSelectionOverlay overlayView2 = ArticleViewer.this.textSelectionHelperBottomSheet.getOverlayView(getContext());
MotionEvent obtain = MotionEvent.obtain(ev);
obtain.offsetLocation(-linearLayout.getX(), -linearLayout.getY());
if (ArticleViewer.this.textSelectionHelperBottomSheet.isInSelectionMode() && ArticleViewer.this.textSelectionHelperBottomSheet.getOverlayView(getContext()).onTouchEvent(obtain)) {
return true;
}
if (overlayView2.checkOnTap(ev)) {
ev.setAction(3);
}
if (ev.getAction() == 0 && ArticleViewer.this.textSelectionHelperBottomSheet.isInSelectionMode() && (ev.getY() < linearLayout.getTop() || ev.getY() > linearLayout.getBottom())) {
if (ArticleViewer.this.textSelectionHelperBottomSheet.getOverlayView(getContext()).onTouchEvent(obtain)) {
return super.dispatchTouchEvent(ev);
}
return true;
}
return super.dispatchTouchEvent(ev);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
super.onMeasure(widthMeasureSpec, View.MeasureSpec.makeMeasureSpec(linearLayout.getMeasuredHeight() + AndroidUtilities.dp(8.0f), 1073741824));
}
};
builder.setDelegate(new BottomSheet.BottomSheetDelegate() {
@Override
public boolean canDismiss() {
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper2 = ArticleViewer.this.textSelectionHelperBottomSheet;
if (articleTextSelectionHelper2 == null || !articleTextSelectionHelper2.isInSelectionMode()) {
return true;
}
ArticleViewer.this.textSelectionHelperBottomSheet.clear();
return false;
}
});
frameLayout.addView(linearLayout, -1, -2);
frameLayout.addView(overlayView, -1, -2);
builder.setCustomView(frameLayout);
if (this.textSelectionHelper.isInSelectionMode()) {
this.textSelectionHelper.clear();
}
BottomSheet create = builder.create();
this.linkSheet = create;
showDialog(create);
} else if (num2.intValue() >= 0 && num2.intValue() < this.adapter[0].blocks.size()) {
TLRPC.PageBlock pageBlock = (TLRPC.PageBlock) this.adapter[0].blocks.get(num2.intValue());
TLRPC.PageBlock lastNonListPageBlock = getLastNonListPageBlock(pageBlock);
if ((lastNonListPageBlock instanceof TL_pageBlockDetailsChild) && openAllParentBlocks((TL_pageBlockDetailsChild) lastNonListPageBlock)) {
this.adapter[0].updateRows();
this.adapter[0].notifyDataSetChanged();
}
int indexOf = this.adapter[0].localBlocks.indexOf(pageBlock);
if (indexOf != -1) {
num2 = Integer.valueOf(indexOf);
}
Integer num3 = (Integer) this.adapter[0].anchorsOffset.get(lowerCase);
if (num3 != null) {
if (num3.intValue() == -1) {
int typeForBlock2 = this.adapter[0].getTypeForBlock(pageBlock);
RecyclerView.ViewHolder onCreateViewHolder2 = this.adapter[0].onCreateViewHolder(null, typeForBlock2);
this.adapter[0].bindBlockToHolder(typeForBlock2, onCreateViewHolder2, pageBlock, 0, 0);
onCreateViewHolder2.itemView.measure(View.MeasureSpec.makeMeasureSpec(this.listView[0].getMeasuredWidth(), 1073741824), View.MeasureSpec.makeMeasureSpec(0, 0));
Integer num4 = (Integer) this.adapter[0].anchorsOffset.get(lowerCase);
if (num4.intValue() != -1) {
num = num4;
}
} else {
num = num3;
}
}
this.layoutManager[0].scrollToPositionWithOffset(num2.intValue(), (this.currentHeaderHeight - AndroidUtilities.dp(56.0f)) - num.intValue());
}
return true;
}
return false;
}
public final boolean removeLastPageFromStack() {
if (this.pagesStack.size() < 2) {
return false;
}
ArrayList<TLRPC.WebPage> arrayList = this.pagesStack;
arrayList.remove(arrayList.size() - 1);
ArrayList<TLRPC.WebPage> arrayList2 = this.pagesStack;
updateInterfaceForCurrentPage(arrayList2.get(arrayList2.size() - 1), false, -1);
return true;
}
public void startCheckLongPress(float x, float y, View parentView) {
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper;
if (this.checkingForLongPress) {
return;
}
this.checkingForLongPress = true;
if (this.pendingCheckForTap == null) {
this.pendingCheckForTap = new CheckForTap();
}
if (parentView.getTag() != null && parentView.getTag() == "bottomSheet" && (articleTextSelectionHelper = this.textSelectionHelperBottomSheet) != null) {
articleTextSelectionHelper.setMaybeView((int) x, (int) y, parentView);
} else {
this.textSelectionHelper.setMaybeView((int) x, (int) y, parentView);
}
this.windowView.postDelayed(this.pendingCheckForTap, ViewConfiguration.getTapTimeout());
}
public void cancelCheckLongPress() {
this.checkingForLongPress = false;
CheckForLongPress checkForLongPress = this.pendingCheckForLongPress;
if (checkForLongPress != null) {
this.windowView.removeCallbacks(checkForLongPress);
this.pendingCheckForLongPress = null;
}
CheckForTap checkForTap = this.pendingCheckForTap;
if (checkForTap != null) {
this.windowView.removeCallbacks(checkForTap);
this.pendingCheckForTap = null;
}
}
public final int getTextFlags(TLRPC.RichText richText) {
if (richText instanceof TLRPC.TL_textFixed) {
return getTextFlags(richText.parentRichText) | 4;
}
if (richText instanceof TLRPC.TL_textItalic) {
return getTextFlags(richText.parentRichText) | 2;
}
if (richText instanceof TLRPC.TL_textBold) {
return getTextFlags(richText.parentRichText) | 1;
}
if (richText instanceof TLRPC.TL_textUnderline) {
return getTextFlags(richText.parentRichText) | 16;
}
if (richText instanceof TLRPC.TL_textStrike) {
return getTextFlags(richText.parentRichText) | 32;
}
if (richText instanceof TLRPC.TL_textEmail) {
return getTextFlags(richText.parentRichText) | 8;
}
if (richText instanceof TLRPC.TL_textPhone) {
return getTextFlags(richText.parentRichText) | 8;
}
if (richText instanceof TLRPC.TL_textUrl) {
if (((TLRPC.RichText) ((TLRPC.TL_textUrl) richText)).webpage_id != 0) {
return getTextFlags(richText.parentRichText) | 512;
}
return getTextFlags(richText.parentRichText) | 8;
}
if (richText instanceof TLRPC.TL_textSubscript) {
return getTextFlags(richText.parentRichText) | 128;
}
if (richText instanceof TLRPC.TL_textSuperscript) {
return getTextFlags(richText.parentRichText) | 256;
}
if (richText instanceof TLRPC.TL_textMarked) {
return getTextFlags(richText.parentRichText) | 64;
}
if (richText != null) {
return getTextFlags(richText.parentRichText);
}
return 0;
}
public final TLRPC.RichText getLastRichText(TLRPC.RichText richText) {
if (richText == null) {
return null;
}
if (richText instanceof TLRPC.TL_textFixed) {
return getLastRichText(((TLRPC.TL_textFixed) richText).text);
}
if (richText instanceof TLRPC.TL_textItalic) {
return getLastRichText(((TLRPC.TL_textItalic) richText).text);
}
if (richText instanceof TLRPC.TL_textBold) {
return getLastRichText(((TLRPC.TL_textBold) richText).text);
}
if (richText instanceof TLRPC.TL_textUnderline) {
return getLastRichText(((TLRPC.TL_textUnderline) richText).text);
}
if (richText instanceof TLRPC.TL_textStrike) {
return getLastRichText(((TLRPC.TL_textStrike) richText).text);
}
if (richText instanceof TLRPC.TL_textEmail) {
return getLastRichText(((TLRPC.TL_textEmail) richText).text);
}
if (richText instanceof TLRPC.TL_textUrl) {
return getLastRichText(((TLRPC.TL_textUrl) richText).text);
}
if (richText instanceof TLRPC.TL_textAnchor) {
getLastRichText(((TLRPC.TL_textAnchor) richText).text);
return richText;
}
if (richText instanceof TLRPC.TL_textSubscript) {
return getLastRichText(((TLRPC.TL_textSubscript) richText).text);
}
if (richText instanceof TLRPC.TL_textSuperscript) {
return getLastRichText(((TLRPC.TL_textSuperscript) richText).text);
}
if (richText instanceof TLRPC.TL_textMarked) {
return getLastRichText(((TLRPC.TL_textMarked) richText).text);
}
return richText instanceof TLRPC.TL_textPhone ? getLastRichText(((TLRPC.TL_textPhone) richText).text) : richText;
}
public final CharSequence getText(WebpageAdapter adapter, View parentView, TLRPC.RichText parentRichText, TLRPC.RichText richText, TLRPC.PageBlock parentBlock, int maxWidth) {
return getText(adapter.currentPage, parentView, parentRichText, richText, parentBlock, maxWidth);
}
public final CharSequence getText(TLRPC.WebPage page, View parentView, TLRPC.RichText parentRichText, TLRPC.RichText richText, TLRPC.PageBlock parentBlock, int maxWidth) {
int i;
int i2;
TextPaintWebpageUrlSpan textPaintUrlSpan;
TextPaintWebpageUrlSpan textPaintUrlSpan2;
if (richText == null) {
return null;
}
if (richText instanceof TLRPC.TL_textFixed) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textFixed) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textItalic) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textItalic) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textBold) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textBold) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textUnderline) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textUnderline) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textStrike) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textStrike) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textEmail) {
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(getText(page, parentView, parentRichText, ((TLRPC.TL_textEmail) richText).text, parentBlock, maxWidth));
MetricAffectingSpan[] metricAffectingSpanArr = (MetricAffectingSpan[]) spannableStringBuilder.getSpans(0, spannableStringBuilder.length(), MetricAffectingSpan.class);
if (spannableStringBuilder.length() != 0) {
spannableStringBuilder.setSpan(new TextPaintUrlSpan((metricAffectingSpanArr == null || metricAffectingSpanArr.length == 0) ? getTextPaint(parentRichText, richText, parentBlock) : null, "mailto:" + getUrl(richText)), 0, spannableStringBuilder.length(), 33);
}
return spannableStringBuilder;
}
long j = 0;
if (richText instanceof TLRPC.TL_textUrl) {
TLRPC.TL_textUrl tL_textUrl = (TLRPC.TL_textUrl) richText;
SpannableStringBuilder spannableStringBuilder2 = new SpannableStringBuilder(getText(page, parentView, parentRichText, tL_textUrl.text, parentBlock, maxWidth));
MetricAffectingSpan[] metricAffectingSpanArr2 = (MetricAffectingSpan[]) spannableStringBuilder2.getSpans(0, spannableStringBuilder2.length(), MetricAffectingSpan.class);
TextPaint textPaint = (metricAffectingSpanArr2 == null || metricAffectingSpanArr2.length == 0) ? getTextPaint(parentRichText, richText, parentBlock) : null;
if (((TLRPC.RichText) tL_textUrl).webpage_id != 0) {
textPaintUrlSpan2 = new TextPaintWebpageUrlSpan(textPaint, getUrl(richText));
} else {
textPaintUrlSpan2 = new TextPaintUrlSpan(textPaint, getUrl(richText));
}
if (spannableStringBuilder2.length() != 0) {
spannableStringBuilder2.setSpan(textPaintUrlSpan2, 0, spannableStringBuilder2.length(), 33);
}
return spannableStringBuilder2;
}
if (richText instanceof TLRPC.TL_textPlain) {
return ((TLRPC.TL_textPlain) richText).text;
}
if (richText instanceof TLRPC.TL_textAnchor) {
TLRPC.TL_textAnchor tL_textAnchor = (TLRPC.TL_textAnchor) richText;
SpannableStringBuilder spannableStringBuilder3 = new SpannableStringBuilder(getText(page, parentView, parentRichText, tL_textAnchor.text, parentBlock, maxWidth));
spannableStringBuilder3.setSpan(new AnchorSpan(tL_textAnchor.name), 0, spannableStringBuilder3.length(), 17);
return spannableStringBuilder3;
}
?? r2 = "";
if (richText instanceof TLRPC.TL_textEmpty) {
return "";
}
if (richText instanceof TLRPC.TL_textConcat) {
SpannableStringBuilder spannableStringBuilder4 = new SpannableStringBuilder();
int size = richText.texts.size();
int i3 = 0;
while (i3 < size) {
TLRPC.TL_textUrl tL_textUrl2 = (TLRPC.RichText) richText.texts.get(i3);
TLRPC.RichText lastRichText = getLastRichText(tL_textUrl2);
boolean z = maxWidth >= 0 && (tL_textUrl2 instanceof TLRPC.TL_textUrl) && ((TLRPC.RichText) tL_textUrl2).webpage_id != j;
if (z && spannableStringBuilder4.length() != 0 && spannableStringBuilder4.charAt(spannableStringBuilder4.length() - 1) != '\n') {
spannableStringBuilder4.append((CharSequence) " ");
spannableStringBuilder4.setSpan(new TextSelectionHelper.IgnoreCopySpannable(), spannableStringBuilder4.length() - 1, spannableStringBuilder4.length(), 33);
}
int i4 = i3;
int i5 = size;
CharSequence text = getText(page, parentView, parentRichText, (TLRPC.RichText) tL_textUrl2, parentBlock, maxWidth);
int textFlags = getTextFlags(lastRichText);
int length = spannableStringBuilder4.length();
spannableStringBuilder4.append(text);
if (textFlags != 0 && !(text instanceof SpannableStringBuilder)) {
if ((textFlags & 8) != 0 || (textFlags & 512) != 0) {
String url = getUrl(tL_textUrl2);
if (url == null) {
url = getUrl(parentRichText);
}
if ((textFlags & 512) != 0) {
textPaintUrlSpan = new TextPaintWebpageUrlSpan(getTextPaint(parentRichText, lastRichText, parentBlock), url);
} else {
textPaintUrlSpan = new TextPaintUrlSpan(getTextPaint(parentRichText, lastRichText, parentBlock), url);
}
if (length != spannableStringBuilder4.length()) {
spannableStringBuilder4.setSpan(textPaintUrlSpan, length, spannableStringBuilder4.length(), 33);
}
} else if (length != spannableStringBuilder4.length()) {
spannableStringBuilder4.setSpan(new TextPaintSpan(getTextPaint(parentRichText, lastRichText, parentBlock)), length, spannableStringBuilder4.length(), 33);
}
}
if (z && i4 != i5 - 1) {
spannableStringBuilder4.append((CharSequence) " ");
spannableStringBuilder4.setSpan(new TextSelectionHelper.IgnoreCopySpannable(), spannableStringBuilder4.length() - 1, spannableStringBuilder4.length(), 33);
}
i3 = i4 + 1;
size = i5;
j = 0;
}
return spannableStringBuilder4;
}
if (richText instanceof TLRPC.TL_textSubscript) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textSubscript) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textSuperscript) {
return getText(page, parentView, parentRichText, ((TLRPC.TL_textSuperscript) richText).text, parentBlock, maxWidth);
}
if (richText instanceof TLRPC.TL_textMarked) {
SpannableStringBuilder spannableStringBuilder5 = new SpannableStringBuilder(getText(page, parentView, parentRichText, ((TLRPC.TL_textMarked) richText).text, parentBlock, maxWidth));
MetricAffectingSpan[] metricAffectingSpanArr3 = (MetricAffectingSpan[]) spannableStringBuilder5.getSpans(0, spannableStringBuilder5.length(), MetricAffectingSpan.class);
if (spannableStringBuilder5.length() != 0) {
spannableStringBuilder5.setSpan(new TextPaintMarkSpan((metricAffectingSpanArr3 == null || metricAffectingSpanArr3.length == 0) ? getTextPaint(parentRichText, richText, parentBlock) : null), 0, spannableStringBuilder5.length(), 33);
}
return spannableStringBuilder5;
}
if (richText instanceof TLRPC.TL_textPhone) {
SpannableStringBuilder spannableStringBuilder6 = new SpannableStringBuilder(getText(page, parentView, parentRichText, ((TLRPC.TL_textPhone) richText).text, parentBlock, maxWidth));
MetricAffectingSpan[] metricAffectingSpanArr4 = (MetricAffectingSpan[]) spannableStringBuilder6.getSpans(0, spannableStringBuilder6.length(), MetricAffectingSpan.class);
if (spannableStringBuilder6.length() != 0) {
spannableStringBuilder6.setSpan(new TextPaintUrlSpan((metricAffectingSpanArr4 == null || metricAffectingSpanArr4.length == 0) ? getTextPaint(parentRichText, richText, parentBlock) : null, "tel:" + getUrl(richText)), 0, spannableStringBuilder6.length(), 33);
}
return spannableStringBuilder6;
}
if (richText instanceof TLRPC.TL_textImage) {
TLRPC.Document documentWithId = WebPageUtils.getDocumentWithId(page, ((TLRPC.TL_textImage) richText).document_id);
if (documentWithId != null) {
r2 = new SpannableStringBuilder("*");
int dp = AndroidUtilities.dp(r0.w);
int dp2 = AndroidUtilities.dp(r0.h);
int abs = Math.abs(maxWidth);
if (dp > abs) {
i = (int) (dp2 * (abs / dp));
i2 = abs;
} else {
i = dp2;
i2 = dp;
}
if (parentView != null) {
int color = Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite);
r2.setSpan(new TextPaintImageReceiverSpan(parentView, documentWithId, page, i2, i, false, (((((float) Color.red(color)) * 0.2126f) + (((float) Color.green(color)) * 0.7152f)) + (((float) Color.blue(color)) * 0.0722f)) / 255.0f <= 0.705f), 0, r2.length(), 33);
}
}
return r2;
}
return "not supported " + richText;
}
public static CharSequence getPlainText(TLRPC.RichText richText) {
if (richText == null) {
return "";
}
if (richText instanceof TLRPC.TL_textFixed) {
return getPlainText(((TLRPC.TL_textFixed) richText).text);
}
if (richText instanceof TLRPC.TL_textItalic) {
return getPlainText(((TLRPC.TL_textItalic) richText).text);
}
if (richText instanceof TLRPC.TL_textBold) {
return getPlainText(((TLRPC.TL_textBold) richText).text);
}
if (richText instanceof TLRPC.TL_textUnderline) {
return getPlainText(((TLRPC.TL_textUnderline) richText).text);
}
if (richText instanceof TLRPC.TL_textStrike) {
return getPlainText(((TLRPC.TL_textStrike) richText).text);
}
if (richText instanceof TLRPC.TL_textEmail) {
return getPlainText(((TLRPC.TL_textEmail) richText).text);
}
if (richText instanceof TLRPC.TL_textUrl) {
return getPlainText(((TLRPC.TL_textUrl) richText).text);
}
if (richText instanceof TLRPC.TL_textPlain) {
return ((TLRPC.TL_textPlain) richText).text;
}
if (richText instanceof TLRPC.TL_textAnchor) {
return getPlainText(((TLRPC.TL_textAnchor) richText).text);
}
if (richText instanceof TLRPC.TL_textEmpty) {
return "";
}
if (richText instanceof TLRPC.TL_textConcat) {
StringBuilder sb = new StringBuilder();
int size = richText.texts.size();
for (int i = 0; i < size; i++) {
sb.append(getPlainText((TLRPC.RichText) richText.texts.get(i)));
}
return sb;
}
if (richText instanceof TLRPC.TL_textSubscript) {
return getPlainText(((TLRPC.TL_textSubscript) richText).text);
}
if (richText instanceof TLRPC.TL_textSuperscript) {
return getPlainText(((TLRPC.TL_textSuperscript) richText).text);
}
if (richText instanceof TLRPC.TL_textMarked) {
return getPlainText(((TLRPC.TL_textMarked) richText).text);
}
if (richText instanceof TLRPC.TL_textPhone) {
return getPlainText(((TLRPC.TL_textPhone) richText).text);
}
boolean z = richText instanceof TLRPC.TL_textImage;
return "";
}
public static String getUrl(TLRPC.RichText richText) {
if (richText instanceof TLRPC.TL_textFixed) {
return getUrl(((TLRPC.TL_textFixed) richText).text);
}
if (richText instanceof TLRPC.TL_textItalic) {
return getUrl(((TLRPC.TL_textItalic) richText).text);
}
if (richText instanceof TLRPC.TL_textBold) {
return getUrl(((TLRPC.TL_textBold) richText).text);
}
if (richText instanceof TLRPC.TL_textUnderline) {
return getUrl(((TLRPC.TL_textUnderline) richText).text);
}
if (richText instanceof TLRPC.TL_textStrike) {
return getUrl(((TLRPC.TL_textStrike) richText).text);
}
if (richText instanceof TLRPC.TL_textEmail) {
return ((TLRPC.RichText) ((TLRPC.TL_textEmail) richText)).email;
}
if (richText instanceof TLRPC.TL_textUrl) {
return ((TLRPC.RichText) ((TLRPC.TL_textUrl) richText)).url;
}
if (richText instanceof TLRPC.TL_textPhone) {
return ((TLRPC.TL_textPhone) richText).phone;
}
return null;
}
public final int getTextColor() {
return Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText);
}
public final int getLinkTextColor() {
return Theme.usePlusTheme ? Theme.prefSectionColor : Theme.getColor(Theme.key_windowBackgroundWhiteLinkText);
}
public static int getGrayTextColor() {
return Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteGrayText);
}
public final TextPaint getTextPaint(TLRPC.RichText parentRichText, TLRPC.RichText richText, TLRPC.PageBlock parentBlock) {
int textColor;
SparseArray<TextPaint> sparseArray;
int dp;
SparseArray<TextPaint> sparseArray2;
int dp2;
SparseArray<TextPaint> sparseArray3;
int dp3;
SparseArray<TextPaint> sparseArray4;
int dp4;
SparseArray<TextPaint> sparseArray5;
int dp5;
SparseArray<TextPaint> sparseArray6;
int dp6;
SparseArray<TextPaint> sparseArray7;
int dp7;
int textFlags = getTextFlags(richText);
int dp8 = AndroidUtilities.dp(14.0f);
int dp9 = AndroidUtilities.dp(SharedConfig.ivFontSize - 16);
SparseArray<TextPaint> sparseArray8 = null;
if (parentBlock instanceof TLRPC.TL_pageBlockPhoto) {
TLRPC.RichText richText2 = ((TLRPC.TL_pageBlockPhoto) parentBlock).caption.text;
if (richText2 == richText || richText2 == parentRichText) {
sparseArray7 = photoCaptionTextPaints;
dp7 = AndroidUtilities.dp(14.0f);
} else {
sparseArray7 = photoCreditTextPaints;
dp7 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray7;
dp8 = dp7;
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockMap) {
TLRPC.RichText richText3 = ((TLRPC.TL_pageBlockMap) parentBlock).caption.text;
if (richText3 == richText || richText3 == parentRichText) {
sparseArray6 = photoCaptionTextPaints;
dp6 = AndroidUtilities.dp(14.0f);
} else {
sparseArray6 = photoCreditTextPaints;
dp6 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray6;
dp8 = dp6;
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockTitle) {
sparseArray8 = titleTextPaints;
dp8 = AndroidUtilities.dp(23.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockKicker) {
sparseArray8 = kickerTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockAuthorDate) {
sparseArray8 = authorTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockFooter) {
sparseArray8 = footerTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockSubtitle) {
sparseArray8 = subtitleTextPaints;
dp8 = AndroidUtilities.dp(20.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockHeader) {
sparseArray8 = headerTextPaints;
dp8 = AndroidUtilities.dp(20.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockSubheader) {
sparseArray8 = subheaderTextPaints;
dp8 = AndroidUtilities.dp(17.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockBlockquote) {
TLRPC.TL_pageBlockBlockquote tL_pageBlockBlockquote = (TLRPC.TL_pageBlockBlockquote) parentBlock;
if (tL_pageBlockBlockquote.text == parentRichText) {
sparseArray8 = quoteTextPaints;
dp8 = AndroidUtilities.dp(15.0f);
textColor = getTextColor();
} else {
if (tL_pageBlockBlockquote.caption == parentRichText) {
sparseArray8 = photoCaptionTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getGrayTextColor();
}
textColor = -65536;
}
} else if (parentBlock instanceof TLRPC.TL_pageBlockPullquote) {
TLRPC.TL_pageBlockPullquote tL_pageBlockPullquote = (TLRPC.TL_pageBlockPullquote) parentBlock;
if (tL_pageBlockPullquote.text == parentRichText) {
sparseArray8 = quoteTextPaints;
dp8 = AndroidUtilities.dp(15.0f);
textColor = getTextColor();
} else {
if (tL_pageBlockPullquote.caption == parentRichText) {
sparseArray8 = photoCaptionTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getGrayTextColor();
}
textColor = -65536;
}
} else if (parentBlock instanceof TLRPC.TL_pageBlockPreformatted) {
sparseArray8 = preformattedTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockParagraph) {
sparseArray8 = paragraphTextPaints;
dp8 = AndroidUtilities.dp(16.0f);
textColor = getTextColor();
} else if (isListItemBlock(parentBlock)) {
sparseArray8 = listTextPaints;
dp8 = AndroidUtilities.dp(16.0f);
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockEmbed) {
TLRPC.RichText richText4 = ((TLRPC.TL_pageBlockEmbed) parentBlock).caption.text;
if (richText4 == richText || richText4 == parentRichText) {
sparseArray5 = photoCaptionTextPaints;
dp5 = AndroidUtilities.dp(14.0f);
} else {
sparseArray5 = photoCreditTextPaints;
dp5 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray5;
dp8 = dp5;
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockSlideshow) {
TLRPC.RichText richText5 = ((TLRPC.TL_pageBlockSlideshow) parentBlock).caption.text;
if (richText5 == richText || richText5 == parentRichText) {
sparseArray4 = photoCaptionTextPaints;
dp4 = AndroidUtilities.dp(14.0f);
} else {
sparseArray4 = photoCreditTextPaints;
dp4 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray4;
dp8 = dp4;
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockCollage) {
TLRPC.RichText richText6 = ((TLRPC.TL_pageBlockCollage) parentBlock).caption.text;
if (richText6 == richText || richText6 == parentRichText) {
sparseArray3 = photoCaptionTextPaints;
dp3 = AndroidUtilities.dp(14.0f);
} else {
sparseArray3 = photoCreditTextPaints;
dp3 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray3;
dp8 = dp3;
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockEmbedPost) {
TLRPC.TL_pageCaption tL_pageCaption = ((TLRPC.TL_pageBlockEmbedPost) parentBlock).caption;
if (richText == tL_pageCaption.text) {
sparseArray8 = photoCaptionTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getGrayTextColor();
} else if (richText == tL_pageCaption.credit) {
sparseArray8 = photoCreditTextPaints;
dp8 = AndroidUtilities.dp(12.0f);
textColor = getGrayTextColor();
} else {
if (richText != null) {
sparseArray8 = embedPostTextPaints;
dp8 = AndroidUtilities.dp(14.0f);
textColor = getTextColor();
}
textColor = -65536;
}
} else if (parentBlock instanceof TLRPC.TL_pageBlockVideo) {
if (richText == ((TLRPC.TL_pageBlockVideo) parentBlock).caption.text) {
sparseArray2 = mediaCaptionTextPaints;
dp2 = AndroidUtilities.dp(14.0f);
} else {
sparseArray2 = mediaCreditTextPaints;
dp2 = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray2;
dp8 = dp2;
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockAudio) {
if (richText == ((TLRPC.TL_pageBlockAudio) parentBlock).caption.text) {
sparseArray = mediaCaptionTextPaints;
dp = AndroidUtilities.dp(14.0f);
} else {
sparseArray = mediaCreditTextPaints;
dp = AndroidUtilities.dp(12.0f);
}
sparseArray8 = sparseArray;
dp8 = dp;
textColor = getTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockRelatedArticles) {
sparseArray8 = relatedArticleTextPaints;
dp8 = AndroidUtilities.dp(15.0f);
textColor = getGrayTextColor();
} else if (parentBlock instanceof TLRPC.TL_pageBlockDetails) {
sparseArray8 = detailsTextPaints;
dp8 = AndroidUtilities.dp(15.0f);
textColor = getTextColor();
} else {
if (parentBlock instanceof TLRPC.TL_pageBlockTable) {
sparseArray8 = tableTextPaints;
dp8 = AndroidUtilities.dp(15.0f);
textColor = getTextColor();
}
textColor = -65536;
}
int i = textFlags & 256;
if (i != 0 || (textFlags & 128) != 0) {
dp8 -= AndroidUtilities.dp(4.0f);
}
if (sparseArray8 == null) {
if (errorTextPaint == null) {
TextPaint textPaint = new TextPaint(1);
errorTextPaint = textPaint;
textPaint.setColor(-65536);
}
errorTextPaint.setTextSize(AndroidUtilities.dp(14.0f));
return errorTextPaint;
}
TextPaint textPaint2 = sparseArray8.get(textFlags);
if (textPaint2 == null) {
textPaint2 = new TextPaint(1);
if ((textFlags & 4) != 0) {
textPaint2.setTypeface(AndroidUtilities.getTypeface("fonts/rmono.ttf"));
} else if (parentBlock instanceof TLRPC.TL_pageBlockRelatedArticles) {
textPaint2.setTypeface(AndroidUtilities.bold());
} else if (this.selectedFont != 1 && !(parentBlock instanceof TLRPC.TL_pageBlockTitle) && !(parentBlock instanceof TLRPC.TL_pageBlockKicker) && !(parentBlock instanceof TLRPC.TL_pageBlockHeader) && !(parentBlock instanceof TLRPC.TL_pageBlockSubtitle) && !(parentBlock instanceof TLRPC.TL_pageBlockSubheader)) {
int i2 = textFlags & 1;
if (i2 != 0 && (textFlags & 2) != 0) {
textPaint2.setTypeface(AndroidUtilities.getTypeface("fonts/rmediumitalic.ttf"));
} else if (i2 != 0) {
textPaint2.setTypeface(AndroidUtilities.bold());
} else if ((textFlags & 2) != 0) {
textPaint2.setTypeface(AndroidUtilities.getTypeface("fonts/ritalic.ttf"));
}
} else if ((parentBlock instanceof TLRPC.TL_pageBlockTitle) || (parentBlock instanceof TLRPC.TL_pageBlockHeader) || (parentBlock instanceof TLRPC.TL_pageBlockSubtitle) || (parentBlock instanceof TLRPC.TL_pageBlockSubheader)) {
textPaint2.setTypeface(AndroidUtilities.getTypeface("fonts/mw_bold.ttf"));
} else {
int i3 = textFlags & 1;
if (i3 != 0 && (textFlags & 2) != 0) {
textPaint2.setTypeface(Typeface.create("serif", 3));
} else if (i3 != 0) {
textPaint2.setTypeface(Typeface.create("serif", 1));
} else if ((textFlags & 2) != 0) {
textPaint2.setTypeface(Typeface.create("serif", 2));
} else {
textPaint2.setTypeface(Typeface.create("serif", 0));
}
}
if ((textFlags & 32) != 0) {
textPaint2.setFlags(textPaint2.getFlags() | 16);
}
if ((textFlags & 16) != 0) {
textPaint2.setFlags(textPaint2.getFlags() | 8);
}
if ((textFlags & 8) != 0 || (textFlags & 512) != 0) {
textPaint2.setFlags(textPaint2.getFlags());
textColor = getLinkTextColor();
}
if (i != 0) {
textPaint2.baselineShift -= AndroidUtilities.dp(6.0f);
} else if ((textFlags & 128) != 0) {
textPaint2.baselineShift += AndroidUtilities.dp(2.0f);
}
textPaint2.setColor(textColor);
sparseArray8.put(textFlags, textPaint2);
}
textPaint2.setTextSize(dp8 + dp9);
return textPaint2;
}
public final DrawingText createLayoutForText(View parentView, CharSequence plainText, TLRPC.RichText richText, int width, int textY, TLRPC.PageBlock parentBlock, Layout.Alignment align, WebpageAdapter parentAdapter) {
return createLayoutForText(parentView, plainText, richText, width, 0, parentBlock, align, 0, parentAdapter);
}
public final DrawingText createLayoutForText(View parentView, CharSequence plainText, TLRPC.RichText richText, int width, int textY, TLRPC.PageBlock parentBlock, WebpageAdapter parentAdapter) {
return createLayoutForText(parentView, plainText, richText, width, textY, parentBlock, Layout.Alignment.ALIGN_NORMAL, 0, parentAdapter);
}
public final org.telegram.ui.ArticleViewer.DrawingText createLayoutForText(android.view.View r23, java.lang.CharSequence r24, org.telegram.tgnet.TLRPC.RichText r25, int r26, int r27, org.telegram.tgnet.TLRPC.PageBlock r28, android.text.Layout.Alignment r29, int r30, org.telegram.ui.ArticleViewer.WebpageAdapter r31) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.createLayoutForText(android.view.View, java.lang.CharSequence, org.telegram.tgnet.TLRPC$RichText, int, int, org.telegram.tgnet.TLRPC$PageBlock, android.text.Layout$Alignment, int, org.telegram.ui.ArticleViewer$WebpageAdapter):org.telegram.ui.ArticleViewer$DrawingText");
}
public final boolean checkLayoutForLinks(org.telegram.ui.ArticleViewer.WebpageAdapter r17, android.view.MotionEvent r18, android.view.View r19, org.telegram.ui.ArticleViewer.DrawingText r20, int r21, int r22) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.checkLayoutForLinks(org.telegram.ui.ArticleViewer$WebpageAdapter, android.view.MotionEvent, android.view.View, org.telegram.ui.ArticleViewer$DrawingText, int, int):boolean");
}
public final void removePressedLink() {
if (this.pressedLink == null && this.pressedLinkOwnerView == null) {
return;
}
View view = this.pressedLinkOwnerView;
this.links.clear();
this.pressedLink = null;
this.pressedLinkOwnerLayout = null;
this.pressedLinkOwnerView = null;
if (view != null) {
view.invalidate();
}
}
public final void openWebpageUrl(String url, final String anchor) {
if (this.openUrlReqId != 0) {
ConnectionsManager.getInstance(this.currentAccount).cancelRequest(this.openUrlReqId, false);
this.openUrlReqId = 0;
}
final int i = this.lastReqId + 1;
this.lastReqId = i;
showProgressView(true, true);
final TLRPC.TL_messages_getWebPage tL_messages_getWebPage = new TLRPC.TL_messages_getWebPage();
tL_messages_getWebPage.url = url;
tL_messages_getWebPage.hash = 0;
this.openUrlReqId = ConnectionsManager.getInstance(this.currentAccount).sendRequest(tL_messages_getWebPage, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
ArticleViewer.this.lambda$openWebpageUrl$7(i, anchor, tL_messages_getWebPage, tLObject, tL_error);
}
});
}
public void lambda$openWebpageUrl$7(final int i, final String str, final TLRPC.TL_messages_getWebPage tL_messages_getWebPage, final TLObject tLObject, TLRPC.TL_error tL_error) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$openWebpageUrl$6(i, tLObject, str, tL_messages_getWebPage);
}
});
}
public void lambda$openWebpageUrl$6(int i, TLObject tLObject, String str, TLRPC.TL_messages_getWebPage tL_messages_getWebPage) {
if (this.openUrlReqId == 0 || i != this.lastReqId) {
return;
}
this.openUrlReqId = 0;
showProgressView(true, false);
if (this.isVisible) {
if (tLObject instanceof TLRPC.TL_messages_webPage) {
TLRPC.TL_messages_webPage tL_messages_webPage = (TLRPC.TL_messages_webPage) tLObject;
MessagesController.getInstance(this.currentAccount).putUsers(tL_messages_webPage.users, false);
MessagesController.getInstance(this.currentAccount).putChats(tL_messages_webPage.chats, false);
TLRPC.WebPage webPage = tL_messages_webPage.webpage;
if (webPage != null && (webPage.cached_page instanceof TLRPC.TL_page)) {
addPageToStack(webPage, str, 1);
return;
} else {
Browser.openUrl(this.parentActivity, tL_messages_getWebPage.url);
return;
}
}
if (tLObject instanceof TLRPC.TL_webPage) {
TLRPC.TL_webPage tL_webPage = (TLRPC.TL_webPage) tLObject;
if (((TLRPC.WebPage) tL_webPage).cached_page instanceof TLRPC.TL_page) {
addPageToStack(tL_webPage, str, 1);
return;
}
}
Browser.openUrl(this.parentActivity, tL_messages_getWebPage.url);
}
}
public void didReceivedNotification(int id, int account, Object... args) {
BlockAudioCell blockAudioCell;
MessageObject messageObject;
if (id == NotificationCenter.messagePlayingDidStart) {
if (this.listView == null) {
return;
}
int i = 0;
while (true) {
ViewGroup[] viewGroupArr = this.listView;
if (i >= viewGroupArr.length) {
return;
}
int childCount = viewGroupArr[i].getChildCount();
for (int i2 = 0; i2 < childCount; i2++) {
View childAt = this.listView[i].getChildAt(i2);
if (childAt instanceof BlockAudioCell) {
((BlockAudioCell) childAt).updateButtonState(true);
}
}
i++;
}
} else if (id == NotificationCenter.messagePlayingDidReset || id == NotificationCenter.messagePlayingPlayStateChanged) {
if (this.listView == null) {
return;
}
int i3 = 0;
while (true) {
ViewGroup[] viewGroupArr2 = this.listView;
if (i3 >= viewGroupArr2.length) {
return;
}
int childCount2 = viewGroupArr2[i3].getChildCount();
for (int i4 = 0; i4 < childCount2; i4++) {
View childAt2 = this.listView[i3].getChildAt(i4);
if (childAt2 instanceof BlockAudioCell) {
BlockAudioCell blockAudioCell2 = (BlockAudioCell) childAt2;
if (blockAudioCell2.getMessageObject() != null) {
blockAudioCell2.updateButtonState(true);
}
}
}
i3++;
}
} else {
if (id != NotificationCenter.messagePlayingProgressDidChanged) {
return;
}
Integer num = (Integer) args[0];
if (this.listView == null) {
return;
}
int i5 = 0;
while (true) {
ViewGroup[] viewGroupArr3 = this.listView;
if (i5 >= viewGroupArr3.length) {
return;
}
int childCount3 = viewGroupArr3[i5].getChildCount();
int i6 = 0;
while (true) {
if (i6 < childCount3) {
View childAt3 = this.listView[i5].getChildAt(i6);
if ((childAt3 instanceof BlockAudioCell) && (messageObject = (blockAudioCell = (BlockAudioCell) childAt3).getMessageObject()) != null && messageObject.getId() == num.intValue()) {
MessageObject playingMessageObject = MediaController.getInstance().getPlayingMessageObject();
if (playingMessageObject != null) {
messageObject.audioProgress = playingMessageObject.audioProgress;
messageObject.audioProgressSec = playingMessageObject.audioProgressSec;
messageObject.audioPlayerDuration = playingMessageObject.audioPlayerDuration;
blockAudioCell.updatePlayingMessageProgress();
}
} else {
i6++;
}
}
}
i5++;
}
}
}
public void updateThemeColors(float progress) {
refreshThemeColors();
updatePaintColors();
if (this.windowView != null) {
this.listView[0].invalidateViews();
this.listView[1].invalidateViews();
this.windowView.invalidate();
this.searchPanel.invalidate();
if (progress == 1.0f) {
this.adapter[0].notifyDataSetChanged();
this.adapter[1].notifyDataSetChanged();
}
}
}
public final void updatePaintSize() {
for (int i = 0; i < 2; i++) {
this.adapter[i].notifyDataSetChanged();
}
}
public final void updatePaintFonts() {
ApplicationLoader.applicationContext.getSharedPreferences("articles", 0).edit().putInt("font_type", this.selectedFont).commit();
int i = this.selectedFont;
Typeface typeface = i == 0 ? Typeface.DEFAULT : Typeface.SERIF;
Typeface typeface2 = i == 0 ? AndroidUtilities.getTypeface("fonts/ritalic.ttf") : Typeface.create("serif", 2);
Typeface bold = this.selectedFont == 0 ? AndroidUtilities.bold() : Typeface.create("serif", 1);
Typeface typeface3 = this.selectedFont == 0 ? AndroidUtilities.getTypeface("fonts/rmediumitalic.ttf") : Typeface.create("serif", 3);
for (int i2 = 0; i2 < quoteTextPaints.size(); i2++) {
updateFontEntry(quoteTextPaints.keyAt(i2), quoteTextPaints.valueAt(i2), typeface, typeface3, bold, typeface2);
}
for (int i3 = 0; i3 < preformattedTextPaints.size(); i3++) {
updateFontEntry(preformattedTextPaints.keyAt(i3), preformattedTextPaints.valueAt(i3), typeface, typeface3, bold, typeface2);
}
for (int i4 = 0; i4 < paragraphTextPaints.size(); i4++) {
updateFontEntry(paragraphTextPaints.keyAt(i4), paragraphTextPaints.valueAt(i4), typeface, typeface3, bold, typeface2);
}
for (int i5 = 0; i5 < listTextPaints.size(); i5++) {
updateFontEntry(listTextPaints.keyAt(i5), listTextPaints.valueAt(i5), typeface, typeface3, bold, typeface2);
}
for (int i6 = 0; i6 < embedPostTextPaints.size(); i6++) {
updateFontEntry(embedPostTextPaints.keyAt(i6), embedPostTextPaints.valueAt(i6), typeface, typeface3, bold, typeface2);
}
for (int i7 = 0; i7 < mediaCaptionTextPaints.size(); i7++) {
updateFontEntry(mediaCaptionTextPaints.keyAt(i7), mediaCaptionTextPaints.valueAt(i7), typeface, typeface3, bold, typeface2);
}
for (int i8 = 0; i8 < mediaCreditTextPaints.size(); i8++) {
updateFontEntry(mediaCreditTextPaints.keyAt(i8), mediaCreditTextPaints.valueAt(i8), typeface, typeface3, bold, typeface2);
}
for (int i9 = 0; i9 < photoCaptionTextPaints.size(); i9++) {
updateFontEntry(photoCaptionTextPaints.keyAt(i9), photoCaptionTextPaints.valueAt(i9), typeface, typeface3, bold, typeface2);
}
for (int i10 = 0; i10 < photoCreditTextPaints.size(); i10++) {
updateFontEntry(photoCreditTextPaints.keyAt(i10), photoCreditTextPaints.valueAt(i10), typeface, typeface3, bold, typeface2);
}
for (int i11 = 0; i11 < authorTextPaints.size(); i11++) {
updateFontEntry(authorTextPaints.keyAt(i11), authorTextPaints.valueAt(i11), typeface, typeface3, bold, typeface2);
}
for (int i12 = 0; i12 < footerTextPaints.size(); i12++) {
updateFontEntry(footerTextPaints.keyAt(i12), footerTextPaints.valueAt(i12), typeface, typeface3, bold, typeface2);
}
for (int i13 = 0; i13 < embedPostCaptionTextPaints.size(); i13++) {
updateFontEntry(embedPostCaptionTextPaints.keyAt(i13), embedPostCaptionTextPaints.valueAt(i13), typeface, typeface3, bold, typeface2);
}
for (int i14 = 0; i14 < relatedArticleTextPaints.size(); i14++) {
updateFontEntry(relatedArticleTextPaints.keyAt(i14), relatedArticleTextPaints.valueAt(i14), typeface, typeface3, bold, typeface2);
}
for (int i15 = 0; i15 < detailsTextPaints.size(); i15++) {
updateFontEntry(detailsTextPaints.keyAt(i15), detailsTextPaints.valueAt(i15), typeface, typeface3, bold, typeface2);
}
for (int i16 = 0; i16 < tableTextPaints.size(); i16++) {
updateFontEntry(tableTextPaints.keyAt(i16), tableTextPaints.valueAt(i16), typeface, typeface3, bold, typeface2);
}
}
public final void updateFontEntry(int flags, TextPaint paint, Typeface typefaceNormal, Typeface typefaceBoldItalic, Typeface typefaceBold, Typeface typefaceItalic) {
int i = flags & 1;
if (i != 0 && (flags & 2) != 0) {
paint.setTypeface(typefaceBoldItalic);
return;
}
if (i != 0) {
paint.setTypeface(typefaceBold);
} else if ((flags & 2) != 0) {
paint.setTypeface(typefaceItalic);
} else {
if ((flags & 4) != 0) {
return;
}
paint.setTypeface(typefaceNormal);
}
}
public final void updatePaintColors() {
this.backgroundPaint.setColor(Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
int i = 0;
while (true) {
RecyclerView[] recyclerViewArr = this.listView;
if (i >= recyclerViewArr.length) {
break;
}
recyclerViewArr[i].setGlowColor(Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
i++;
}
TextPaint textPaint = listTextPointerPaint;
if (textPaint != null) {
textPaint.setColor(getTextColor());
}
TextPaint textPaint2 = listTextNumPaint;
if (textPaint2 != null) {
textPaint2.setColor(getTextColor());
}
TextPaint textPaint3 = embedPostAuthorPaint;
if (textPaint3 != null) {
textPaint3.setColor(getTextColor());
}
TextPaint textPaint4 = channelNamePaint;
if (textPaint4 != null) {
textPaint4.setColor(getTextColor());
}
TextPaint textPaint5 = channelNamePhotoPaint;
if (textPaint5 != null) {
textPaint5.setColor(-1);
}
TextPaint textPaint6 = relatedArticleHeaderPaint;
if (textPaint6 != null) {
textPaint6.setColor(getTextColor());
}
TextPaint textPaint7 = relatedArticleTextPaint;
if (textPaint7 != null) {
textPaint7.setColor(getGrayTextColor());
}
TextPaint textPaint8 = embedPostDatePaint;
if (textPaint8 != null) {
textPaint8.setColor(getGrayTextColor());
}
createPaint(true);
setMapColors(titleTextPaints);
setMapColors(kickerTextPaints);
setMapColors(subtitleTextPaints);
setMapColors(headerTextPaints);
setMapColors(subheaderTextPaints);
setMapColors(quoteTextPaints);
setMapColors(preformattedTextPaints);
setMapColors(paragraphTextPaints);
setMapColors(listTextPaints);
setMapColors(embedPostTextPaints);
setMapColors(mediaCaptionTextPaints);
setMapColors(mediaCreditTextPaints);
setMapColors(photoCaptionTextPaints);
setMapColors(photoCreditTextPaints);
setMapColors(authorTextPaints);
setMapColors(footerTextPaints);
setMapColors(embedPostCaptionTextPaints);
setMapColors(relatedArticleTextPaints);
setMapColors(detailsTextPaints);
setMapColors(tableTextPaints);
}
public final void setMapColors(SparseArray<TextPaint> map) {
for (int i = 0; i < map.size(); i++) {
int keyAt = map.keyAt(i);
TextPaint valueAt = map.valueAt(i);
if ((keyAt & 8) != 0 || (keyAt & 512) != 0) {
valueAt.setColor(getLinkTextColor());
} else {
valueAt.setColor(getTextColor());
}
}
}
public void setParentActivity(Activity activity, BaseFragment fragment) {
this.parentFragment = fragment;
int i = UserConfig.selectedAccount;
this.currentAccount = i;
NotificationCenter.getInstance(i).addObserver(this, NotificationCenter.messagePlayingProgressDidChanged);
NotificationCenter.getInstance(this.currentAccount).addObserver(this, NotificationCenter.messagePlayingDidReset);
NotificationCenter.getInstance(this.currentAccount).addObserver(this, NotificationCenter.messagePlayingPlayStateChanged);
NotificationCenter.getInstance(this.currentAccount).addObserver(this, NotificationCenter.messagePlayingDidStart);
if (this.parentActivity == activity) {
updatePaintColors();
refreshThemeColors();
return;
}
this.parentActivity = activity;
this.selectedFont = ApplicationLoader.applicationContext.getSharedPreferences("articles", 0).getInt("font_type", 0);
createPaint(false);
this.backgroundPaint = new Paint();
this.layerShadowDrawable = activity.getResources().getDrawable(R.drawable.layer_shadow);
this.slideDotDrawable = activity.getResources().getDrawable(R.drawable.slide_dot_small);
this.slideDotBigDrawable = activity.getResources().getDrawable(R.drawable.slide_dot_big);
this.scrimPaint = new Paint();
WindowView windowView = new WindowView(activity);
this.windowView = windowView;
windowView.setWillNotDraw(false);
this.windowView.setClipChildren(true);
this.windowView.setFocusable(false);
FrameLayout frameLayout = new FrameLayout(activity) {
@Override
public boolean drawChild(android.graphics.Canvas r11, android.view.View r12, long r13) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.AnonymousClass7.drawChild(android.graphics.Canvas, android.view.View, long):boolean");
}
@Override
public void invalidate() {
super.invalidate();
}
};
this.containerView = frameLayout;
this.windowView.addView(frameLayout, LayoutHelper.createFrame(-1, -1, 51));
if (Build.VERSION.SDK_INT >= 21) {
this.windowView.setFitsSystemWindows(true);
this.containerView.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
@Override
public final WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
WindowInsets lambda$setParentActivity$8;
lambda$setParentActivity$8 = ArticleViewer.lambda$setParentActivity$8(view, windowInsets);
return lambda$setParentActivity$8;
}
});
}
FrameLayout frameLayout2 = new FrameLayout(activity);
this.fullscreenVideoContainer = frameLayout2;
frameLayout2.setBackgroundColor(-16777216);
this.fullscreenVideoContainer.setVisibility(4);
this.windowView.addView(this.fullscreenVideoContainer, LayoutHelper.createFrame(-1, -1.0f));
AspectRatioFrameLayout aspectRatioFrameLayout = new AspectRatioFrameLayout(activity);
this.fullscreenAspectRatioView = aspectRatioFrameLayout;
aspectRatioFrameLayout.setVisibility(0);
this.fullscreenAspectRatioView.setBackgroundColor(-16777216);
this.fullscreenVideoContainer.addView((View) this.fullscreenAspectRatioView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -1, 17));
this.fullscreenTextureView = new TextureView(activity);
this.listView = new RecyclerListView[2];
this.adapter = new WebpageAdapter[2];
this.layoutManager = new LinearLayoutManager[2];
int i2 = 0;
while (i2 < this.listView.length) {
WebpageAdapter[] webpageAdapterArr = this.adapter;
final WebpageAdapter webpageAdapter = new WebpageAdapter(this.parentActivity);
webpageAdapterArr[i2] = webpageAdapter;
this.listView[i2] = new RecyclerListView(activity) {
public void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
int childCount = getChildCount();
for (int i3 = 0; i3 < childCount; i3++) {
View childAt = getChildAt(i3);
if ((childAt.getTag() instanceof Integer) && ((Integer) childAt.getTag()).intValue() == 90 && childAt.getBottom() < getMeasuredHeight()) {
int measuredHeight = getMeasuredHeight();
childAt.layout(0, measuredHeight - childAt.getMeasuredHeight(), childAt.getMeasuredWidth(), measuredHeight);
return;
}
}
}
public boolean onInterceptTouchEvent(MotionEvent e) {
if (ArticleViewer.this.pressedLinkOwnerLayout != null && ArticleViewer.this.pressedLink == null && ((ArticleViewer.this.popupWindow == null || !ArticleViewer.this.popupWindow.isShowing()) && (e.getAction() == 1 || e.getAction() == 3))) {
ArticleViewer.this.pressedLink = null;
ArticleViewer.this.pressedLinkOwnerLayout = null;
ArticleViewer.this.pressedLinkOwnerView = null;
} else if (ArticleViewer.this.pressedLinkOwnerLayout != null && ArticleViewer.this.pressedLink != null && e.getAction() == 1) {
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.checkLayoutForLinks(webpageAdapter, e, articleViewer.pressedLinkOwnerView, ArticleViewer.this.pressedLinkOwnerLayout, 0, 0);
}
return super.onInterceptTouchEvent(e);
}
public boolean onTouchEvent(MotionEvent e) {
if (ArticleViewer.this.pressedLinkOwnerLayout != null && ArticleViewer.this.pressedLink == null && ((ArticleViewer.this.popupWindow == null || !ArticleViewer.this.popupWindow.isShowing()) && (e.getAction() == 1 || e.getAction() == 3))) {
ArticleViewer.this.pressedLink = null;
ArticleViewer.this.pressedLinkOwnerLayout = null;
ArticleViewer.this.pressedLinkOwnerView = null;
}
return super.onTouchEvent(e);
}
public void setTranslationX(float translationX) {
super/*android.view.ViewGroup*/.setTranslationX(translationX);
if (ArticleViewer.this.windowView.movingPage) {
ArticleViewer.this.containerView.invalidate();
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.setCurrentHeaderHeight((int) (articleViewer.windowView.startMovingHeaderHeight + ((AndroidUtilities.dp(56.0f) - ArticleViewer.this.windowView.startMovingHeaderHeight) * (translationX / getMeasuredWidth()))));
}
}
public void dispatchDraw(Canvas canvas) {
ArticleViewer.this.checkVideoPlayer();
super.dispatchDraw(canvas);
}
};
this.listView[i2].getItemAnimator().setDelayAnimations(false);
RecyclerView recyclerView = this.listView[i2];
LinearLayoutManager[] linearLayoutManagerArr = this.layoutManager;
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this.parentActivity, 1, false);
linearLayoutManagerArr[i2] = linearLayoutManager;
recyclerView.setLayoutManager(linearLayoutManager);
this.listView[i2].setAdapter(webpageAdapter);
this.listView[i2].setClipToPadding(false);
this.listView[i2].setVisibility(i2 == 0 ? 0 : 8);
this.listView[i2].setPadding(0, AndroidUtilities.dp(56.0f), 0, 0);
this.listView[i2].setTopGlowOffset(AndroidUtilities.dp(56.0f));
this.containerView.addView(this.listView[i2], LayoutHelper.createFrame(-1, -1.0f));
this.listView[i2].setOnItemLongClickListener(new RecyclerListView.OnItemLongClickListener() {
public final boolean onItemClick(View view, int i3) {
boolean lambda$setParentActivity$9;
lambda$setParentActivity$9 = ArticleViewer.this.lambda$setParentActivity$9(view, i3);
return lambda$setParentActivity$9;
}
});
this.listView[i2].setOnItemClickListener(new RecyclerListView.OnItemClickListenerExtended() {
public boolean hasDoubleTap(View view, int i3) {
return RecyclerListView.OnItemClickListenerExtended.-CC.$default$hasDoubleTap(this, view, i3);
}
public void onDoubleTap(View view, int i3, float f, float f2) {
RecyclerListView.OnItemClickListenerExtended.-CC.$default$onDoubleTap(this, view, i3, f, f2);
}
public final void onItemClick(View view, int i3, float f, float f2) {
ArticleViewer.this.lambda$setParentActivity$12(webpageAdapter, view, i3, f, f2);
}
});
this.listView[i2].setOnScrollListener(new RecyclerView.OnScrollListener() {
public void onScrollStateChanged(RecyclerView recyclerView2, int newState) {
if (newState == 0) {
ArticleViewer.this.textSelectionHelper.stopScrolling();
}
}
public void onScrolled(RecyclerView recyclerView2, int dx, int dy) {
if (recyclerView2.getChildCount() == 0) {
return;
}
recyclerView2.invalidate();
ArticleViewer.this.textSelectionHelper.onParentScrolled();
ArticleViewer.this.headerView.invalidate();
ArticleViewer.this.checkScroll(dy);
}
});
i2++;
}
this.headerPaint.setColor(-16777216);
this.statusBarPaint.setColor(-16777216);
this.headerProgressPaint.setColor(-14408666);
this.navigationBarPaint.setColor(-16777216);
FrameLayout frameLayout3 = new FrameLayout(activity) {
@Override
public void onDraw(Canvas canvas) {
View findViewByPosition;
float min;
float measuredWidth = getMeasuredWidth();
float measuredHeight = getMeasuredHeight();
canvas.drawRect(0.0f, 0.0f, measuredWidth, measuredHeight, ArticleViewer.this.headerPaint);
if (ArticleViewer.this.layoutManager == null) {
return;
}
int findFirstVisibleItemPosition = ArticleViewer.this.layoutManager[0].findFirstVisibleItemPosition();
int findLastVisibleItemPosition = ArticleViewer.this.layoutManager[0].findLastVisibleItemPosition();
int itemCount = ArticleViewer.this.layoutManager[0].getItemCount() - 2;
if (findLastVisibleItemPosition >= itemCount) {
findViewByPosition = ArticleViewer.this.layoutManager[0].findViewByPosition(itemCount);
} else {
findViewByPosition = ArticleViewer.this.layoutManager[0].findViewByPosition(findFirstVisibleItemPosition);
}
if (findViewByPosition == null) {
return;
}
float f = measuredWidth / (r5 - 1);
ArticleViewer.this.layoutManager[0].getChildCount();
float measuredHeight2 = findViewByPosition.getMeasuredHeight();
if (findLastVisibleItemPosition >= itemCount) {
min = (((itemCount - findFirstVisibleItemPosition) * f) * (ArticleViewer.this.listView[0].getMeasuredHeight() - findViewByPosition.getTop())) / measuredHeight2;
} else {
min = (1.0f - ((Math.min(0, findViewByPosition.getTop() - ArticleViewer.this.listView[0].getPaddingTop()) + measuredHeight2) / measuredHeight2)) * f;
}
canvas.drawRect(0.0f, 0.0f, (findFirstVisibleItemPosition * f) + min, measuredHeight, ArticleViewer.this.headerProgressPaint);
}
};
this.headerView = frameLayout3;
frameLayout3.setWillNotDraw(false);
this.containerView.addView(this.headerView, LayoutHelper.createFrame(-1, 56.0f));
this.headerView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
ArticleViewer.this.lambda$setParentActivity$13(view);
}
});
SimpleTextView simpleTextView = new SimpleTextView(activity);
this.titleTextView = simpleTextView;
simpleTextView.setGravity(19);
this.titleTextView.setTextSize(20);
this.titleTextView.setTypeface(AndroidUtilities.bold());
this.titleTextView.setTextColor(-5000269);
this.titleTextView.setPivotX(0.0f);
this.titleTextView.setPivotY(AndroidUtilities.dp(28.0f));
this.headerView.addView(this.titleTextView, LayoutHelper.createFrame(-1, 56.0f, 51, 72.0f, 0.0f, 96.0f, 0.0f));
LineProgressView lineProgressView = new LineProgressView(activity);
this.lineProgressView = lineProgressView;
lineProgressView.setProgressColor(-1);
this.lineProgressView.setPivotX(0.0f);
this.lineProgressView.setPivotY(AndroidUtilities.dp(2.0f));
this.headerView.addView((View) this.lineProgressView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, 2.0f, 83, 0.0f, 0.0f, 0.0f, 1.0f));
this.lineProgressTickRunnable = new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$setParentActivity$14();
}
};
FrameLayout frameLayout4 = new FrameLayout(activity);
this.menuContainer = frameLayout4;
this.headerView.addView(frameLayout4, LayoutHelper.createFrame(48, 56, 53));
View view = new View(activity);
this.searchShadow = view;
view.setBackgroundResource(R.drawable.header_shadow);
this.searchShadow.setAlpha(0.0f);
this.containerView.addView(this.searchShadow, LayoutHelper.createFrame(-1, 3.0f, 51, 0.0f, 56.0f, 0.0f, 0.0f));
FrameLayout frameLayout5 = new FrameLayout(this.parentActivity);
this.searchContainer = frameLayout5;
frameLayout5.setBackgroundColor(Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
this.searchContainer.setVisibility(4);
int i3 = Build.VERSION.SDK_INT;
if (i3 < 21) {
this.searchContainer.setAlpha(0.0f);
}
this.headerView.addView(this.searchContainer, LayoutHelper.createFrame(-1, 56.0f));
EditTextBoldCursor editTextBoldCursor = new EditTextBoldCursor(this, this.parentActivity) {
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == 0 && !AndroidUtilities.showKeyboard(this)) {
clearFocus();
requestFocus();
}
return super.onTouchEvent(event);
}
};
this.searchField = editTextBoldCursor;
editTextBoldCursor.setCursorWidth(1.5f);
this.searchField.setTextColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.searchField.setCursorColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.searchField.setTextSize(1, 18.0f);
this.searchField.setHintTextColor(Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteHintText));
this.searchField.setSingleLine(true);
EditTextBoldCursor editTextBoldCursor2 = this.searchField;
int i4 = R.string.Search;
editTextBoldCursor2.setHint(LocaleController.getString("Search", i4));
this.searchField.setBackgroundResource(0);
this.searchField.setPadding(0, 0, 0, 0);
this.searchField.setInputType(this.searchField.getInputType() | 524288);
if (i3 < 23) {
this.searchField.setCustomSelectionActionModeCallback(new ActionMode.Callback(this) {
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
});
}
this.searchField.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public final boolean onEditorAction(TextView textView, int i5, KeyEvent keyEvent) {
boolean lambda$setParentActivity$15;
lambda$setParentActivity$15 = ArticleViewer.this.lambda$setParentActivity$15(textView, i5, keyEvent);
return lambda$setParentActivity$15;
}
});
this.searchField.addTextChangedListener(new AnonymousClass13());
this.searchField.setImeOptions(33554435);
this.searchField.setTextIsSelectable(false);
this.searchContainer.addView((View) this.searchField, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, 36.0f, 16, 72.0f, 0.0f, 48.0f, 0.0f));
ImageView imageView = new ImageView(this.parentActivity) {
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
clearAnimation();
if (getTag() == null) {
ArticleViewer.this.clearButton.setVisibility(4);
ArticleViewer.this.clearButton.setAlpha(0.0f);
ArticleViewer.this.clearButton.setRotation(45.0f);
ArticleViewer.this.clearButton.setScaleX(0.0f);
ArticleViewer.this.clearButton.setScaleY(0.0f);
return;
}
ArticleViewer.this.clearButton.setAlpha(1.0f);
ArticleViewer.this.clearButton.setRotation(0.0f);
ArticleViewer.this.clearButton.setScaleX(1.0f);
ArticleViewer.this.clearButton.setScaleY(1.0f);
}
};
this.clearButton = imageView;
imageView.setImageDrawable(new CloseProgressDrawable2(this) {
public int getCurrentColor() {
return Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText);
}
});
this.clearButton.setScaleType(ImageView.ScaleType.CENTER);
this.clearButton.setAlpha(0.0f);
this.clearButton.setRotation(45.0f);
this.clearButton.setScaleX(0.0f);
this.clearButton.setScaleY(0.0f);
this.clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
ArticleViewer.this.lambda$setParentActivity$16(view2);
}
});
this.clearButton.setContentDescription(LocaleController.getString("ClearButton", R.string.ClearButton));
this.searchContainer.addView(this.clearButton, LayoutHelper.createFrame(48, -1, 21));
ImageView imageView2 = new ImageView(activity);
this.backButton = imageView2;
imageView2.setScaleType(ImageView.ScaleType.CENTER);
BackDrawable backDrawable = new BackDrawable(false);
this.backDrawable = backDrawable;
backDrawable.setAnimationTime(200.0f);
this.backDrawable.setColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.backDrawable.setRotatedColor(-5000269);
this.backDrawable.setRotation(1.0f, false);
this.backButton.setImageDrawable(this.backDrawable);
this.backButton.setBackgroundDrawable(Theme.createSelectorDrawable(1090519039));
this.headerView.addView(this.backButton, LayoutHelper.createFrame(54, 56.0f));
this.backButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
ArticleViewer.this.lambda$setParentActivity$17(view2);
}
});
this.backButton.setContentDescription(LocaleController.getString("AccDescrGoBack", R.string.AccDescrGoBack));
ActionBarMenuItem actionBarMenuItem = new ActionBarMenuItem(this.parentActivity, null, 1090519039, -5000269) {
@Override
public void toggleSubMenu() {
super.toggleSubMenu();
ArticleViewer.this.listView[0].stopScroll();
ArticleViewer.this.checkScrollAnimated();
}
};
this.menuButton = actionBarMenuItem;
actionBarMenuItem.setLayoutInScreen(true);
this.menuButton.setDuplicateParentStateEnabled(false);
this.menuButton.setClickable(true);
this.menuButton.setIcon(R.drawable.ic_ab_other);
this.menuButton.addSubItem(1, R.drawable.msg_search, LocaleController.getString("Search", i4));
this.menuButton.addSubItem(2, R.drawable.msg_share, LocaleController.getString("ShareFile", R.string.ShareFile));
this.menuButton.addSubItem(3, R.drawable.msg_openin, LocaleController.getString("OpenInExternalApp", R.string.OpenInExternalApp));
this.menuButton.addSubItem(4, R.drawable.msg_settings_old, LocaleController.getString("Settings", R.string.Settings));
this.menuButton.setBackgroundDrawable(Theme.createSelectorDrawable(1090519039));
this.menuButton.setContentDescription(LocaleController.getString("AccDescrMoreOptions", R.string.AccDescrMoreOptions));
this.menuContainer.addView(this.menuButton, LayoutHelper.createFrame(48, 56.0f));
ContextProgressView contextProgressView = new ContextProgressView(activity, 2);
this.progressView = contextProgressView;
contextProgressView.setVisibility(8);
this.menuContainer.addView((View) this.progressView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(48, 56.0f));
this.menuButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
ArticleViewer.this.lambda$setParentActivity$18(view2);
}
});
this.menuButton.setDelegate(new ActionBarMenuItem.ActionBarMenuItemDelegate() {
@Override
public final void onItemClick(int i5) {
ArticleViewer.this.lambda$setParentActivity$20(i5);
}
});
FrameLayout frameLayout6 = new FrameLayout(this, this.parentActivity) {
@Override
public void onDraw(Canvas canvas) {
int intrinsicHeight = Theme.chat_composeShadowDrawable.getIntrinsicHeight();
Theme.chat_composeShadowDrawable.setBounds(0, 0, getMeasuredWidth(), intrinsicHeight);
Theme.chat_composeShadowDrawable.draw(canvas);
canvas.drawRect(0.0f, intrinsicHeight, getMeasuredWidth(), getMeasuredHeight(), Theme.chat_composeBackgroundPaint);
}
};
this.searchPanel = frameLayout6;
frameLayout6.setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view2, MotionEvent motionEvent) {
boolean lambda$setParentActivity$21;
lambda$setParentActivity$21 = ArticleViewer.lambda$setParentActivity$21(view2, motionEvent);
return lambda$setParentActivity$21;
}
});
this.searchPanel.setWillNotDraw(false);
this.searchPanel.setVisibility(4);
this.searchPanel.setFocusable(true);
this.searchPanel.setFocusableInTouchMode(true);
this.searchPanel.setClickable(true);
this.searchPanel.setPadding(0, AndroidUtilities.dp(3.0f), 0, 0);
this.containerView.addView(this.searchPanel, LayoutHelper.createFrame(-1, 51, 80));
ImageView imageView3 = new ImageView(this.parentActivity);
this.searchUpButton = imageView3;
imageView3.setScaleType(ImageView.ScaleType.CENTER);
this.searchUpButton.setImageResource(R.drawable.msg_go_up);
this.searchUpButton.setColorFilter(new PorterDuffColorFilter(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), PorterDuff.Mode.MULTIPLY));
ImageView imageView4 = this.searchUpButton;
int i5 = Theme.key_actionBarActionModeDefaultSelector;
imageView4.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(i5), 1));
this.searchPanel.addView(this.searchUpButton, LayoutHelper.createFrame(48, 48.0f, 53, 0.0f, 0.0f, 48.0f, 0.0f));
this.searchUpButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
ArticleViewer.this.lambda$setParentActivity$22(view2);
}
});
this.searchUpButton.setContentDescription(LocaleController.getString("AccDescrSearchNext", R.string.AccDescrSearchNext));
ImageView imageView5 = new ImageView(this.parentActivity);
this.searchDownButton = imageView5;
imageView5.setScaleType(ImageView.ScaleType.CENTER);
this.searchDownButton.setImageResource(R.drawable.msg_go_down);
this.searchDownButton.setColorFilter(new PorterDuffColorFilter(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), PorterDuff.Mode.MULTIPLY));
this.searchDownButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(i5), 1));
this.searchPanel.addView(this.searchDownButton, LayoutHelper.createFrame(48, 48.0f, 53, 0.0f, 0.0f, 0.0f, 0.0f));
this.searchDownButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
ArticleViewer.this.lambda$setParentActivity$23(view2);
}
});
this.searchDownButton.setContentDescription(LocaleController.getString("AccDescrSearchPrev", R.string.AccDescrSearchPrev));
SimpleTextView simpleTextView2 = new SimpleTextView(this.parentActivity);
this.searchCountText = simpleTextView2;
simpleTextView2.setTextColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.searchCountText.setTextSize(15);
this.searchCountText.setTypeface(AndroidUtilities.bold());
this.searchCountText.setGravity(3);
this.searchPanel.addView(this.searchCountText, LayoutHelper.createFrame(-2, -2.0f, 19, 18.0f, 0.0f, 108.0f, 0.0f));
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
this.windowLayoutParams = layoutParams;
layoutParams.height = -1;
layoutParams.format = -3;
layoutParams.width = -1;
layoutParams.gravity = 51;
layoutParams.type = 98;
layoutParams.softInputMode = 48;
layoutParams.flags = 131072;
int i6 = 1792;
int color = Theme.getColor(Theme.key_windowBackgroundGray, null, true);
if ((AndroidUtilities.computePerceivedBrightness(color) >= 0.721f) && i3 >= 26) {
i6 = 1808;
}
this.navigationBarPaint.setColor(color);
WindowManager.LayoutParams layoutParams2 = this.windowLayoutParams;
layoutParams2.systemUiVisibility = i6;
if (i3 >= 21) {
layoutParams2.flags |= -2147417856;
if (i3 >= 28) {
layoutParams2.layoutInDisplayCutoutMode = 1;
}
}
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = new TextSelectionHelper.ArticleTextSelectionHelper();
this.textSelectionHelper = articleTextSelectionHelper;
articleTextSelectionHelper.setParentView(this.listView[0]);
if (MessagesController.getInstance(this.currentAccount).getTranslateController().isContextTranslateEnabled()) {
this.textSelectionHelper.setOnTranslate(new TextSelectionHelper.OnTranslateListener() {
@Override
public final void run(CharSequence charSequence, String str, String str2, Runnable runnable) {
ArticleViewer.this.lambda$setParentActivity$24(charSequence, str, str2, runnable);
}
});
}
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper2 = this.textSelectionHelper;
articleTextSelectionHelper2.layoutManager = this.layoutManager[0];
articleTextSelectionHelper2.setCallback(new TextSelectionHelper.Callback() {
@Override
public void onStateChanged(boolean isSelected) {
if (isSelected) {
ArticleViewer.this.showSearch(false);
}
}
@Override
public void onTextCopied() {
if (!AndroidUtilities.shouldShowClipboardToast() || PlusSettings.hideMsgDeletedHint) {
return;
}
BulletinFactory.of(ArticleViewer.this.containerView, (Theme.ResourcesProvider) null).createCopyBulletin(LocaleController.getString("TextCopied", R.string.TextCopied)).show();
}
});
this.containerView.addView(this.textSelectionHelper.getOverlayView(activity));
FrameLayout frameLayout7 = this.containerView;
PinchToZoomHelper pinchToZoomHelper = new PinchToZoomHelper(frameLayout7, frameLayout7);
this.pinchToZoomHelper = pinchToZoomHelper;
pinchToZoomHelper.setClipBoundsListener(new PinchToZoomHelper.ClipBoundsListener() {
@Override
public final void getClipTopBottom(float[] fArr) {
ArticleViewer.this.lambda$setParentActivity$25(fArr);
}
});
this.pinchToZoomHelper.setCallback(new PinchToZoomHelper.Callback() {
@Override
public TextureView getCurrentTextureView() {
return PinchToZoomHelper.Callback.CC.$default$getCurrentTextureView(this);
}
@Override
public void onZoomFinished(MessageObject messageObject) {
PinchToZoomHelper.Callback.CC.$default$onZoomFinished(this, messageObject);
}
@Override
public void onZoomStarted(MessageObject messageObject) {
if (ArticleViewer.this.listView[0] != null) {
ArticleViewer.this.listView[0].cancelClickRunnables(true);
}
}
});
updatePaintColors();
}
public static WindowInsets lambda$setParentActivity$8(View view, WindowInsets windowInsets) {
if (Build.VERSION.SDK_INT >= 30) {
return WindowInsets.CONSUMED;
}
return windowInsets.consumeSystemWindowInsets();
}
public boolean lambda$setParentActivity$9(View view, int i) {
if (!(view instanceof BlockRelatedArticlesCell)) {
return false;
}
BlockRelatedArticlesCell blockRelatedArticlesCell = (BlockRelatedArticlesCell) view;
showCopyPopup(((TLRPC.TL_pageRelatedArticle) blockRelatedArticlesCell.currentBlock.parent.articles.get(blockRelatedArticlesCell.currentBlock.num)).url);
return true;
}
public void lambda$setParentActivity$12(WebpageAdapter webpageAdapter, View view, int i, float f, float f2) {
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = this.textSelectionHelper;
if (articleTextSelectionHelper != null) {
if (articleTextSelectionHelper.isInSelectionMode()) {
this.textSelectionHelper.clear();
return;
}
this.textSelectionHelper.clear();
}
if ((view instanceof ReportCell) && webpageAdapter.currentPage != null) {
ReportCell reportCell = (ReportCell) view;
if (this.previewsReqId == 0) {
if (!reportCell.hasViews || f >= view.getMeasuredWidth() / 2) {
TLObject userOrChat = MessagesController.getInstance(this.currentAccount).getUserOrChat("previews");
if (userOrChat instanceof TLRPC.TL_user) {
openPreviewsChat((TLRPC.User) userOrChat, webpageAdapter.currentPage.id);
return;
}
final int i2 = UserConfig.selectedAccount;
final long j = webpageAdapter.currentPage.id;
showProgressView(true, true);
TLRPC.TL_contacts_resolveUsername tL_contacts_resolveUsername = new TLRPC.TL_contacts_resolveUsername();
tL_contacts_resolveUsername.username = "previews";
this.previewsReqId = ConnectionsManager.getInstance(i2).sendRequest(tL_contacts_resolveUsername, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
ArticleViewer.this.lambda$setParentActivity$11(i2, j, tLObject, tL_error);
}
});
return;
}
return;
}
return;
}
if (i < 0 || i >= webpageAdapter.localBlocks.size()) {
return;
}
TLRPC.PageBlock pageBlock = (TLRPC.PageBlock) webpageAdapter.localBlocks.get(i);
TLRPC.PageBlock lastNonListPageBlock = getLastNonListPageBlock(pageBlock);
if (lastNonListPageBlock instanceof TL_pageBlockDetailsChild) {
lastNonListPageBlock = ((TL_pageBlockDetailsChild) lastNonListPageBlock).block;
}
if (lastNonListPageBlock instanceof TLRPC.TL_pageBlockChannel) {
MessagesController.getInstance(this.currentAccount).openByUserName(ChatObject.getPublicUsername(((TLRPC.TL_pageBlockChannel) lastNonListPageBlock).channel), this.parentFragment, 2);
close(false, true);
return;
}
if (lastNonListPageBlock instanceof TL_pageBlockRelatedArticlesChild) {
TL_pageBlockRelatedArticlesChild tL_pageBlockRelatedArticlesChild = (TL_pageBlockRelatedArticlesChild) lastNonListPageBlock;
openWebpageUrl(((TLRPC.TL_pageRelatedArticle) tL_pageBlockRelatedArticlesChild.parent.articles.get(tL_pageBlockRelatedArticlesChild.num)).url, null);
return;
}
if (lastNonListPageBlock instanceof TLRPC.TL_pageBlockDetails) {
View lastNonListCell = getLastNonListCell(view);
if (lastNonListCell instanceof BlockDetailsCell) {
this.pressedLinkOwnerLayout = null;
this.pressedLinkOwnerView = null;
if (webpageAdapter.blocks.indexOf(pageBlock) < 0) {
return;
}
TLRPC.TL_pageBlockDetails tL_pageBlockDetails = (TLRPC.TL_pageBlockDetails) lastNonListPageBlock;
tL_pageBlockDetails.open = !tL_pageBlockDetails.open;
int itemCount = webpageAdapter.getItemCount();
webpageAdapter.updateRows();
int abs = Math.abs(webpageAdapter.getItemCount() - itemCount);
BlockDetailsCell blockDetailsCell = (BlockDetailsCell) lastNonListCell;
blockDetailsCell.arrow.setAnimationProgressAnimated(tL_pageBlockDetails.open ? 0.0f : 1.0f);
blockDetailsCell.invalidate();
if (abs != 0) {
if (tL_pageBlockDetails.open) {
webpageAdapter.notifyItemRangeInserted(i + 1, abs);
} else {
webpageAdapter.notifyItemRangeRemoved(i + 1, abs);
}
}
}
}
}
public void lambda$setParentActivity$11(final int i, final long j, final TLObject tLObject, TLRPC.TL_error tL_error) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$setParentActivity$10(tLObject, i, j);
}
});
}
public void lambda$setParentActivity$10(TLObject tLObject, int i, long j) {
if (this.previewsReqId == 0) {
return;
}
this.previewsReqId = 0;
showProgressView(true, false);
if (tLObject != null) {
TLRPC.TL_contacts_resolvedPeer tL_contacts_resolvedPeer = (TLRPC.TL_contacts_resolvedPeer) tLObject;
MessagesController.getInstance(i).putUsers(tL_contacts_resolvedPeer.users, false);
MessagesStorage.getInstance(i).putUsersAndChats(tL_contacts_resolvedPeer.users, tL_contacts_resolvedPeer.chats, false, true);
if (tL_contacts_resolvedPeer.users.isEmpty()) {
return;
}
openPreviewsChat((TLRPC.User) tL_contacts_resolvedPeer.users.get(0), j);
}
}
public void lambda$setParentActivity$13(View view) {
this.listView[0].smoothScrollToPosition(0);
}
public void lambda$setParentActivity$14() {
float currentProgress = 0.7f - this.lineProgressView.getCurrentProgress();
if (currentProgress > 0.0f) {
float f = currentProgress < 0.25f ? 0.01f : 0.02f;
LineProgressView lineProgressView = this.lineProgressView;
lineProgressView.setProgress(lineProgressView.getCurrentProgress() + f, true);
AndroidUtilities.runOnUIThread(this.lineProgressTickRunnable, 100L);
}
}
public boolean lambda$setParentActivity$15(TextView textView, int i, KeyEvent keyEvent) {
if (keyEvent == null) {
return false;
}
if ((keyEvent.getAction() != 1 || keyEvent.getKeyCode() != 84) && (keyEvent.getAction() != 0 || keyEvent.getKeyCode() != 66)) {
return false;
}
AndroidUtilities.hideKeyboard(this.searchField);
return false;
}
public class AnonymousClass13 implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public AnonymousClass13() {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (ArticleViewer.this.ignoreOnTextChange) {
ArticleViewer.this.ignoreOnTextChange = false;
return;
}
ArticleViewer.this.processSearch(s.toString().toLowerCase());
if (ArticleViewer.this.clearButton != null) {
if (TextUtils.isEmpty(s)) {
if (ArticleViewer.this.clearButton.getTag() != null) {
ArticleViewer.this.clearButton.setTag(null);
ArticleViewer.this.clearButton.clearAnimation();
if (ArticleViewer.this.animateClear) {
ArticleViewer.this.clearButton.animate().setInterpolator(new DecelerateInterpolator()).alpha(0.0f).setDuration(180L).scaleY(0.0f).scaleX(0.0f).rotation(45.0f).withEndAction(new Runnable() {
@Override
public final void run() {
ArticleViewer.AnonymousClass13.this.lambda$onTextChanged$0();
}
}).start();
return;
}
ArticleViewer.this.clearButton.setAlpha(0.0f);
ArticleViewer.this.clearButton.setRotation(45.0f);
ArticleViewer.this.clearButton.setScaleX(0.0f);
ArticleViewer.this.clearButton.setScaleY(0.0f);
ArticleViewer.this.clearButton.setVisibility(4);
ArticleViewer.this.animateClear = true;
return;
}
return;
}
if (ArticleViewer.this.clearButton.getTag() == null) {
ArticleViewer.this.clearButton.setTag(1);
ArticleViewer.this.clearButton.clearAnimation();
ArticleViewer.this.clearButton.setVisibility(0);
if (ArticleViewer.this.animateClear) {
ArticleViewer.this.clearButton.animate().setInterpolator(new DecelerateInterpolator()).alpha(1.0f).setDuration(180L).scaleY(1.0f).scaleX(1.0f).rotation(0.0f).start();
return;
}
ArticleViewer.this.clearButton.setAlpha(1.0f);
ArticleViewer.this.clearButton.setRotation(0.0f);
ArticleViewer.this.clearButton.setScaleX(1.0f);
ArticleViewer.this.clearButton.setScaleY(1.0f);
ArticleViewer.this.animateClear = true;
}
}
}
public void lambda$onTextChanged$0() {
ArticleViewer.this.clearButton.setVisibility(4);
}
}
public void lambda$setParentActivity$16(View view) {
if (this.searchField.length() != 0) {
this.searchField.setText("");
}
this.searchField.requestFocus();
AndroidUtilities.showKeyboard(this.searchField);
}
public void lambda$setParentActivity$17(View view) {
if (this.searchContainer.getTag() != null) {
showSearch(false);
} else {
close(true, true);
}
}
public void lambda$setParentActivity$18(View view) {
this.menuButton.toggleSubMenu();
}
public void lambda$setParentActivity$20(int i) {
String str;
if (this.adapter[0].currentPage == null || this.parentActivity == null) {
return;
}
if (i == 1) {
showSearch(true);
return;
}
if (i == 2) {
showDialog(new ShareAlert(this.parentActivity, (ArrayList) null, this.adapter[0].currentPage.url, false, this.adapter[0].currentPage.url, false));
return;
}
if (i == 3) {
if (!TextUtils.isEmpty(this.adapter[0].currentPage.cached_page.url)) {
str = this.adapter[0].currentPage.cached_page.url;
} else {
str = this.adapter[0].currentPage.url;
}
Browser.openUrl(this.parentActivity, str, true, false);
return;
}
if (i == 4) {
BottomSheet.Builder builder = new BottomSheet.Builder(this.parentActivity);
builder.setApplyTopPadding(false);
LinearLayout linearLayout = new LinearLayout(this.parentActivity);
linearLayout.setPadding(0, 0, 0, AndroidUtilities.dp(4.0f));
linearLayout.setOrientation(1);
HeaderCell headerCell = new HeaderCell(this.parentActivity);
headerCell.setText(LocaleController.getString("FontSize", R.string.FontSize));
linearLayout.addView(headerCell, LayoutHelper.createLinear(-2, -2, 51, 3, 1, 3, 0));
linearLayout.addView(new TextSizeCell(this.parentActivity), LayoutHelper.createLinear(-1, -2, 51, 3, 0, 3, 0));
HeaderCell headerCell2 = new HeaderCell(this.parentActivity);
headerCell2.setText(LocaleController.getString("FontType", R.string.FontType));
linearLayout.addView(headerCell2, LayoutHelper.createLinear(-2, -2, 51, 3, 4, 3, 2));
int i2 = 0;
while (i2 < 2) {
this.fontCells[i2] = new FontCell(this.parentActivity);
if (i2 == 0) {
this.fontCells[i2].setTextAndTypeface(LocaleController.getString("Default", R.string.Default), Typeface.DEFAULT);
} else if (i2 == 1) {
this.fontCells[i2].setTextAndTypeface("Serif", Typeface.SERIF);
}
this.fontCells[i2].select(i2 == this.selectedFont, false);
this.fontCells[i2].setTag(Integer.valueOf(i2));
this.fontCells[i2].setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
ArticleViewer.this.lambda$setParentActivity$19(view);
}
});
linearLayout.addView(this.fontCells[i2], LayoutHelper.createLinear(-1, 50));
i2++;
}
builder.setCustomView(linearLayout);
BottomSheet create = builder.create();
this.linkSheet = create;
showDialog(create);
}
}
public void lambda$setParentActivity$19(View view) {
int intValue = ((Integer) view.getTag()).intValue();
this.selectedFont = intValue;
int i = 0;
while (i < 2) {
this.fontCells[i].select(i == intValue, true);
i++;
}
updatePaintFonts();
for (int i2 = 0; i2 < this.listView.length; i2++) {
this.adapter[i2].notifyDataSetChanged();
}
}
public void lambda$setParentActivity$22(View view) {
scrollToSearchIndex(this.currentSearchIndex - 1);
}
public void lambda$setParentActivity$23(View view) {
scrollToSearchIndex(this.currentSearchIndex + 1);
}
public void lambda$setParentActivity$24(CharSequence charSequence, String str, String str2, Runnable runnable) {
TranslateAlert2.showAlert(this.parentActivity, this.parentFragment, this.currentAccount, str, str2, charSequence, (ArrayList) null, false, (Utilities.CallbackReturn) null, runnable);
}
public void lambda$setParentActivity$25(float[] fArr) {
fArr[0] = this.currentHeaderHeight;
fArr[1] = this.listView[0].getMeasuredHeight();
}
public final void checkVideoPlayer() {
BlockVideoCell blockVideoCell;
ViewGroup viewGroup = this.listView[0];
if (viewGroup == null && this.attachedToWindow) {
return;
}
float f = 0.0f;
float measuredHeight = viewGroup.getMeasuredHeight() / 2.0f;
BlockVideoCell blockVideoCell2 = null;
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View childAt = viewGroup.getChildAt(i);
if (childAt instanceof BlockVideoCell) {
float top = childAt.getTop() + (childAt.getMeasuredHeight() / 2.0f);
if (blockVideoCell2 == null || Math.abs(measuredHeight - top) < Math.abs(measuredHeight - f)) {
blockVideoCell2 = (BlockVideoCell) childAt;
f = top;
}
}
}
boolean z = !PhotoViewer.getInstance().isVisibleOrAnimating();
if (!z || ((blockVideoCell = this.currentPlayer) != null && blockVideoCell != blockVideoCell2 && this.videoPlayer != null)) {
if (this.videoPlayer != null) {
LongSparseArray<BlockVideoCellState> longSparseArray = this.videoStates;
long j = this.currentPlayer.currentBlock.video_id;
BlockVideoCell blockVideoCell3 = this.currentPlayer;
longSparseArray.put(j, blockVideoCell3.setState(BlockVideoCellState.fromPlayer(this.videoPlayer, blockVideoCell3)));
if (this.currentPlayer.videoState != null) {
if (this.currentPlayer.videoState.lastFrameBitmap != null) {
this.currentPlayer.imageView.setImageBitmap(this.currentPlayer.videoState.lastFrameBitmap);
}
this.currentPlayer.updateButtonState(false);
}
this.videoPlayer.release((Runnable) null);
}
this.videoPlayer = null;
this.currentPlayer = null;
}
if (!z || blockVideoCell2 == null) {
return;
}
blockVideoCell2.startVideoPlayer();
this.currentPlayer = blockVideoCell2;
}
public final void showSearch(final boolean show) {
FrameLayout frameLayout = this.searchContainer;
if (frameLayout != null) {
if ((frameLayout.getTag() != null) == show) {
return;
}
this.searchContainer.setTag(show ? 1 : null);
this.searchResults.clear();
this.searchText = null;
this.adapter[0].searchTextOffset.clear();
this.currentSearchIndex = 0;
if (this.attachedToWindow) {
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.setDuration(250L);
if (show) {
this.searchContainer.setVisibility(0);
this.backDrawable.setRotation(0.0f, true);
} else {
this.menuButton.setVisibility(0);
this.listView[0].invalidateViews();
AndroidUtilities.hideKeyboard(this.searchField);
updateWindowLayoutParamsForSearch();
}
ArrayList arrayList = new ArrayList();
if (Build.VERSION.SDK_INT >= 21) {
if (show) {
this.searchContainer.setAlpha(1.0f);
}
int left = this.menuContainer.getLeft() + (this.menuContainer.getMeasuredWidth() / 2);
int top = this.menuContainer.getTop() + (this.menuContainer.getMeasuredHeight() / 2);
float sqrt = (float) Math.sqrt((left * left) + (top * top));
FrameLayout frameLayout2 = this.searchContainer;
float f = show ? 0.0f : sqrt;
if (!show) {
sqrt = 0.0f;
}
Animator createCircularReveal = ViewAnimationUtils.createCircularReveal(frameLayout2, left, top, f, sqrt);
arrayList.add(createCircularReveal);
createCircularReveal.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (show) {
return;
}
ArticleViewer.this.searchContainer.setAlpha(0.0f);
}
});
} else {
FrameLayout frameLayout3 = this.searchContainer;
Property property = View.ALPHA;
float[] fArr = new float[1];
fArr[0] = show ? 1.0f : 0.0f;
arrayList.add(ObjectAnimator.ofFloat(frameLayout3, (Property<FrameLayout, Float>) property, fArr));
}
if (!show) {
arrayList.add(ObjectAnimator.ofFloat(this.searchPanel, (Property<FrameLayout, Float>) View.ALPHA, 0.0f));
}
View view = this.searchShadow;
Property property2 = View.ALPHA;
float[] fArr2 = new float[1];
fArr2[0] = show ? 1.0f : 0.0f;
arrayList.add(ObjectAnimator.ofFloat(view, (Property<View, Float>) property2, fArr2));
animatorSet.playTogether(arrayList);
animatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (show) {
ArticleViewer.this.updateWindowLayoutParamsForSearch();
ArticleViewer.this.searchField.requestFocus();
AndroidUtilities.showKeyboard(ArticleViewer.this.searchField);
ArticleViewer.this.menuButton.setVisibility(4);
return;
}
ArticleViewer.this.searchContainer.setVisibility(4);
ArticleViewer.this.searchPanel.setVisibility(4);
ArticleViewer.this.searchField.setText("");
}
@Override
public void onAnimationStart(Animator animation) {
if (show) {
return;
}
ArticleViewer.this.backDrawable.setRotation(1.0f, true);
}
});
animatorSet.setInterpolator(CubicBezierInterpolator.EASE_OUT);
if (!show && !AndroidUtilities.usingHardwareInput && this.keyboardVisible) {
this.runAfterKeyboardClose = animatorSet;
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$showSearch$26();
}
}, 300L);
return;
} else {
animatorSet.start();
return;
}
}
this.searchContainer.setAlpha(show ? 1.0f : 0.0f);
this.menuButton.setVisibility(show ? 4 : 0);
this.backDrawable.setRotation(show ? 0.0f : 1.0f, false);
this.searchShadow.setAlpha(show ? 1.0f : 0.0f);
if (show) {
this.searchContainer.setVisibility(0);
} else {
this.searchContainer.setVisibility(4);
this.searchPanel.setVisibility(4);
this.searchField.setText("");
}
updateWindowLayoutParamsForSearch();
}
}
public void lambda$showSearch$26() {
AnimatorSet animatorSet = this.runAfterKeyboardClose;
if (animatorSet != null) {
animatorSet.start();
this.runAfterKeyboardClose = null;
}
}
public final void updateSearchButtons() {
ArrayList<SearchResult> arrayList = this.searchResults;
if (arrayList == null) {
return;
}
this.searchUpButton.setEnabled((arrayList.isEmpty() || this.currentSearchIndex == 0) ? false : true);
this.searchDownButton.setEnabled((this.searchResults.isEmpty() || this.currentSearchIndex == this.searchResults.size() - 1) ? false : true);
ImageView imageView = this.searchUpButton;
imageView.setAlpha(imageView.isEnabled() ? 1.0f : 0.5f);
ImageView imageView2 = this.searchDownButton;
imageView2.setAlpha(imageView2.isEnabled() ? 1.0f : 0.5f);
int size = this.searchResults.size();
if (size < 0) {
this.searchCountText.setText("");
return;
}
if (size == 0) {
this.searchCountText.setText(LocaleController.getString("NoResult", R.string.NoResult));
} else if (size == 1) {
this.searchCountText.setText(LocaleController.getString("OneResult", R.string.OneResult));
} else {
this.searchCountText.setText(String.format(LocaleController.getPluralString("CountOfResults", size), Integer.valueOf(this.currentSearchIndex + 1), Integer.valueOf(size)));
}
}
public static class SearchResult {
public TLRPC.PageBlock block;
public int index;
public Object text;
public SearchResult() {
}
}
public final void processSearch(final String text) {
Runnable runnable = this.searchRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
this.searchRunnable = null;
}
if (TextUtils.isEmpty(text)) {
this.searchResults.clear();
this.searchText = text;
this.adapter[0].searchTextOffset.clear();
this.searchPanel.setVisibility(4);
this.listView[0].invalidateViews();
scrollToSearchIndex(0);
this.lastSearchIndex = -1;
return;
}
final int i = this.lastSearchIndex + 1;
this.lastSearchIndex = i;
Runnable runnable2 = new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$processSearch$29(text, i);
}
};
this.searchRunnable = runnable2;
AndroidUtilities.runOnUIThread(runnable2, 400L);
}
public void lambda$processSearch$29(final String str, final int i) {
final HashMap hashMap = new HashMap(this.adapter[0].textToBlocks);
final ArrayList arrayList = new ArrayList(this.adapter[0].textBlocks);
this.searchRunnable = null;
Utilities.searchQueue.postRunnable(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$processSearch$28(arrayList, hashMap, str, i);
}
});
}
public void lambda$processSearch$28(ArrayList arrayList, HashMap hashMap, final String str, final int i) {
TLRPC.PageBlock pageBlock;
String lowerCase;
String str2;
SearchResultIA searchResultIA;
TLRPC.PageBlock pageBlock2;
final ArrayList arrayList2 = new ArrayList();
int size = arrayList.size();
char c = 0;
int i2 = 0;
while (i2 < size) {
Object obj = arrayList.get(i2);
TLRPC.PageBlock pageBlock3 = (TLRPC.PageBlock) hashMap.get(obj);
if (obj instanceof TLRPC.RichText) {
TLRPC.RichText richText = (TLRPC.RichText) obj;
WebpageAdapter webpageAdapter = this.adapter[c];
String str3 = null;
pageBlock = pageBlock3;
CharSequence text = getText(webpageAdapter, (View) null, richText, richText, pageBlock3, 1000);
str2 = str3;
if (!TextUtils.isEmpty(text)) {
lowerCase = text.toString().toLowerCase();
searchResultIA = str3;
}
lowerCase = str2;
searchResultIA = str2;
} else {
String str4 = null;
pageBlock = pageBlock3;
str2 = str4;
if (obj instanceof String) {
lowerCase = ((String) obj).toLowerCase();
searchResultIA = str4;
}
lowerCase = str2;
searchResultIA = str2;
}
if (lowerCase != null) {
int i3 = 0;
while (true) {
int indexOf = lowerCase.indexOf(str, i3);
if (indexOf >= 0) {
int length = str.length() + indexOf;
if (indexOf == 0 || AndroidUtilities.isPunctuationCharacter(lowerCase.charAt(indexOf - 1))) {
SearchResult searchResult = new SearchResult();
searchResult.index = indexOf;
pageBlock2 = pageBlock;
searchResult.block = pageBlock2;
searchResult.text = obj;
arrayList2.add(searchResult);
} else {
pageBlock2 = pageBlock;
}
pageBlock = pageBlock2;
i3 = length;
}
}
}
i2++;
c = 0;
}
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$processSearch$27(i, arrayList2, str);
}
});
}
public void lambda$processSearch$27(int i, ArrayList arrayList, String str) {
if (i == this.lastSearchIndex) {
this.searchPanel.setAlpha(1.0f);
this.searchPanel.setVisibility(0);
this.searchResults = arrayList;
this.searchText = str;
this.adapter[0].searchTextOffset.clear();
this.listView[0].invalidateViews();
scrollToSearchIndex(0);
}
}
public final void scrollToSearchIndex(int r12) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.scrollToSearchIndex(int):void");
}
public final void checkScrollAnimated() {
if (this.currentHeaderHeight == AndroidUtilities.dp(56.0f)) {
return;
}
ValueAnimator duration = ValueAnimator.ofObject(new IntEvaluator(), Integer.valueOf(this.currentHeaderHeight), Integer.valueOf(AndroidUtilities.dp(56.0f))).setDuration(180L);
duration.setInterpolator(new DecelerateInterpolator());
duration.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public final void onAnimationUpdate(ValueAnimator valueAnimator) {
ArticleViewer.this.lambda$checkScrollAnimated$30(valueAnimator);
}
});
duration.start();
}
public void lambda$checkScrollAnimated$30(ValueAnimator valueAnimator) {
setCurrentHeaderHeight(((Integer) valueAnimator.getAnimatedValue()).intValue());
}
public final void setCurrentHeaderHeight(int newHeight) {
if (this.searchContainer.getTag() != null) {
return;
}
int dp = AndroidUtilities.dp(56.0f);
int dp2 = AndroidUtilities.dp(24.0f);
if (newHeight < dp2) {
newHeight = dp2;
} else if (newHeight > dp) {
newHeight = dp;
}
float f = dp - dp2;
if (f == 0.0f) {
f = 1.0f;
}
this.currentHeaderHeight = newHeight;
float f2 = (((newHeight - dp2) / f) * 0.2f) + 0.8f;
this.backButton.setScaleX(f2);
this.backButton.setScaleY(f2);
this.backButton.setTranslationY((dp - this.currentHeaderHeight) / 2);
this.menuContainer.setScaleX(f2);
this.menuContainer.setScaleY(f2);
this.titleTextView.setScaleX(f2);
this.titleTextView.setScaleY(f2);
this.lineProgressView.setScaleY((((newHeight - dp2) / f) * 0.5f) + 0.5f);
this.menuContainer.setTranslationY((dp - this.currentHeaderHeight) / 2);
this.titleTextView.setTranslationY((dp - this.currentHeaderHeight) / 2);
this.headerView.setTranslationY(this.currentHeaderHeight - dp);
this.searchShadow.setTranslationY(this.currentHeaderHeight - dp);
int i = 0;
this.menuButton.setAdditionalYOffset(((-(this.currentHeaderHeight - dp)) / 2) + (Build.VERSION.SDK_INT < 21 ? AndroidUtilities.statusBarHeight : 0));
this.textSelectionHelper.setTopOffset(this.currentHeaderHeight);
while (true) {
RecyclerView[] recyclerViewArr = this.listView;
if (i >= recyclerViewArr.length) {
return;
}
recyclerViewArr[i].setTopGlowOffset(this.currentHeaderHeight);
i++;
}
}
public final void checkScroll(int dy) {
setCurrentHeaderHeight(this.currentHeaderHeight - dy);
}
public final void openPreviewsChat(TLRPC.User user, long wid) {
if (user == null || !(this.parentActivity instanceof LaunchActivity)) {
return;
}
Bundle bundle = new Bundle();
bundle.putLong("user_id", user.id);
bundle.putString("botUser", "webpage" + wid);
((LaunchActivity) this.parentActivity).presentFragment(new ChatActivity(bundle), false, true);
close(false, true);
}
public boolean open(MessageObject messageObject) {
return open(messageObject, null, null, true);
}
public boolean open(TLRPC.TL_webPage webpage, String url) {
return open(null, webpage, url, true);
}
public final boolean open(final org.telegram.messenger.MessageObject r12, org.telegram.tgnet.TLRPC.WebPage r13, java.lang.String r14, boolean r15) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.open(org.telegram.messenger.MessageObject, org.telegram.tgnet.TLRPC$WebPage, java.lang.String, boolean):boolean");
}
public void lambda$open$32(final int i, final TLRPC.WebPage webPage, final MessageObject messageObject, final String str, final TLObject tLObject, TLRPC.TL_error tL_error) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$open$31(tLObject, i, webPage, messageObject, str);
}
});
}
public void lambda$open$31(TLObject tLObject, int i, TLRPC.WebPage webPage, MessageObject messageObject, String str) {
TLRPC.Page page;
TLObject tLObject2 = tLObject;
int i2 = 0;
if (tLObject2 instanceof TLRPC.TL_messages_webPage) {
TLRPC.TL_messages_webPage tL_messages_webPage = (TLRPC.TL_messages_webPage) tLObject2;
MessagesController.getInstance(i).putUsers(tL_messages_webPage.users, false);
MessagesController.getInstance(i).putChats(tL_messages_webPage.chats, false);
tLObject2 = tL_messages_webPage.webpage;
}
if (tLObject2 instanceof TLRPC.TL_webPage) {
TLRPC.WebPage webPage2 = (TLRPC.TL_webPage) tLObject2;
if (webPage2.cached_page == null) {
return;
}
if (!this.pagesStack.isEmpty() && this.pagesStack.get(0) == webPage) {
if (messageObject != null) {
messageObject.messageOwner.media.webpage = webPage2;
TLRPC.TL_messages_messages tL_messages_messages = new TLRPC.TL_messages_messages();
((TLRPC.messages_Messages) tL_messages_messages).messages.add(messageObject.messageOwner);
MessagesStorage.getInstance(i).putMessages(tL_messages_messages, messageObject.getDialogId(), -2, 0, false, messageObject.scheduled ? 1 : 0, 0L);
}
this.pagesStack.set(0, webPage2);
if (this.pagesStack.size() == 1) {
ApplicationLoader.applicationContext.getSharedPreferences("articles", 0).edit().remove("article" + webPage2.id).commit();
updateInterfaceForCurrentPage(webPage2, false, 0);
if (str != null) {
scrollToAnchor(str);
}
}
}
LongSparseArray longSparseArray = new LongSparseArray(1);
longSparseArray.put(webPage2.id, webPage2);
MessagesStorage.getInstance(i).putWebPages(longSparseArray);
return;
}
if (tLObject2 instanceof TLRPC.TL_webPageNotModified) {
TLRPC.TL_webPageNotModified tL_webPageNotModified = (TLRPC.TL_webPageNotModified) tLObject2;
if (webPage == null || (page = webPage.cached_page) == null) {
return;
}
int i3 = page.views;
int i4 = tL_webPageNotModified.cached_page_views;
if (i3 != i4) {
page.views = i4;
page.flags |= 8;
while (true) {
WebpageAdapter[] webpageAdapterArr = this.adapter;
if (i2 >= webpageAdapterArr.length) {
break;
}
if (webpageAdapterArr[i2].currentPage == webPage) {
RecyclerView.ViewHolder findViewHolderForAdapterPosition = this.listView[i2].findViewHolderForAdapterPosition(this.adapter[i2].getItemCount() - 1);
if (findViewHolderForAdapterPosition != null) {
this.adapter[i2].onViewAttachedToWindow(findViewHolderForAdapterPosition);
}
}
i2++;
}
if (messageObject != null) {
TLRPC.TL_messages_messages tL_messages_messages2 = new TLRPC.TL_messages_messages();
((TLRPC.messages_Messages) tL_messages_messages2).messages.add(messageObject.messageOwner);
MessagesStorage.getInstance(i).putMessages(tL_messages_messages2, messageObject.getDialogId(), -2, 0, false, messageObject.scheduled ? 1 : 0, 0L);
}
}
}
}
public void lambda$open$33() {
FrameLayout frameLayout = this.containerView;
if (frameLayout == null || this.windowView == null) {
return;
}
if (Build.VERSION.SDK_INT >= 18) {
frameLayout.setLayerType(0, null);
}
this.animationInProgress = 0;
AndroidUtilities.hideKeyboard(this.parentActivity.getCurrentFocus());
}
public class AnonymousClass22 extends AnimatorListenerAdapter {
public AnonymousClass22() {
}
@Override
public void onAnimationEnd(Animator animation) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.AnonymousClass22.this.lambda$onAnimationEnd$0();
}
});
}
public void lambda$onAnimationEnd$0() {
ArticleViewer.this.notificationsLocker.unlock();
if (ArticleViewer.this.animationEndRunnable != null) {
ArticleViewer.this.animationEndRunnable.run();
ArticleViewer.this.animationEndRunnable = null;
}
}
}
public void lambda$open$34(AnimatorSet animatorSet) {
this.notificationsLocker.lock();
animatorSet.start();
}
public final void showProgressView(boolean useLine, final boolean show) {
if (useLine) {
AndroidUtilities.cancelRunOnUIThread(this.lineProgressTickRunnable);
if (show) {
this.lineProgressView.setProgress(0.0f, false);
this.lineProgressView.setProgress(0.3f, true);
AndroidUtilities.runOnUIThread(this.lineProgressTickRunnable, 100L);
return;
}
this.lineProgressView.setProgress(1.0f, true);
return;
}
AnimatorSet animatorSet = this.progressViewAnimation;
if (animatorSet != null) {
animatorSet.cancel();
}
this.progressViewAnimation = new AnimatorSet();
if (show) {
this.progressView.setVisibility(0);
this.menuContainer.setEnabled(false);
this.progressViewAnimation.playTogether(ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.SCALE_X, 0.1f), ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.SCALE_Y, 0.1f), ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.ALPHA, 0.0f), ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.SCALE_X, 1.0f), ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.SCALE_Y, 1.0f), ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.ALPHA, 1.0f));
} else {
this.menuButton.setVisibility(0);
this.menuContainer.setEnabled(true);
this.progressViewAnimation.playTogether(ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.SCALE_X, 0.1f), ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.SCALE_Y, 0.1f), ObjectAnimator.ofFloat(this.progressView, (Property<ContextProgressView, Float>) View.ALPHA, 0.0f), ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.SCALE_X, 1.0f), ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.SCALE_Y, 1.0f), ObjectAnimator.ofFloat(this.menuButton, (Property<ActionBarMenuItem, Float>) View.ALPHA, 1.0f));
}
this.progressViewAnimation.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (ArticleViewer.this.progressViewAnimation == null || !ArticleViewer.this.progressViewAnimation.equals(animation)) {
return;
}
if (!show) {
ArticleViewer.this.progressView.setVisibility(4);
} else {
ArticleViewer.this.menuButton.setVisibility(4);
}
}
@Override
public void onAnimationCancel(Animator animation) {
if (ArticleViewer.this.progressViewAnimation == null || !ArticleViewer.this.progressViewAnimation.equals(animation)) {
return;
}
ArticleViewer.this.progressViewAnimation = null;
}
});
this.progressViewAnimation.setDuration(150L);
this.progressViewAnimation.start();
}
public final void saveCurrentPagePosition() {
int findFirstVisibleItemPosition;
if (this.adapter[0].currentPage == null || (findFirstVisibleItemPosition = this.layoutManager[0].findFirstVisibleItemPosition()) == -1) {
return;
}
View findViewByPosition = this.layoutManager[0].findViewByPosition(findFirstVisibleItemPosition);
int top = findViewByPosition != null ? findViewByPosition.getTop() : 0;
SharedPreferences.Editor edit = ApplicationLoader.applicationContext.getSharedPreferences("articles", 0).edit();
String str = "article" + this.adapter[0].currentPage.id;
SharedPreferences.Editor putInt = edit.putInt(str, findFirstVisibleItemPosition).putInt(str + "o", top);
String str2 = str + "r";
Point point = AndroidUtilities.displaySize;
putInt.putBoolean(str2, point.x > point.y).commit();
}
public final void refreshThemeColors() {
TextView textView = this.deleteView;
if (textView != null) {
textView.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector), 2));
this.deleteView.setTextColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem));
}
ActionBarPopupWindow.ActionBarPopupWindowLayout actionBarPopupWindowLayout = this.popupLayout;
if (actionBarPopupWindowLayout != null) {
actionBarPopupWindowLayout.setBackgroundColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuBackground));
}
FrameLayout frameLayout = this.searchContainer;
if (frameLayout != null) {
frameLayout.setBackgroundColor(Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
}
EditTextBoldCursor editTextBoldCursor = this.searchField;
if (editTextBoldCursor != null) {
editTextBoldCursor.setTextColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.searchField.setCursorColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
this.searchField.setHintTextColor(Theme.usePlusTheme ? Theme.prefSummaryColor : Theme.getColor(Theme.key_windowBackgroundWhiteHintText));
}
ImageView imageView = this.searchUpButton;
if (imageView != null) {
imageView.setColorFilter(new PorterDuffColorFilter(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), PorterDuff.Mode.MULTIPLY));
this.searchUpButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_actionBarActionModeDefaultSelector), 1));
}
ImageView imageView2 = this.searchDownButton;
if (imageView2 != null) {
imageView2.setColorFilter(new PorterDuffColorFilter(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), PorterDuff.Mode.MULTIPLY));
this.searchDownButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_actionBarActionModeDefaultSelector), 1));
}
SimpleTextView simpleTextView = this.searchCountText;
if (simpleTextView != null) {
simpleTextView.setTextColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
}
ActionBarMenuItem actionBarMenuItem = this.menuButton;
if (actionBarMenuItem != null) {
actionBarMenuItem.redrawPopup(Theme.getColor(Theme.key_actionBarDefaultSubmenuBackground));
this.menuButton.setPopupItemsColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItem), false);
this.menuButton.setPopupItemsColor(Theme.getColor(Theme.key_actionBarDefaultSubmenuItemIcon), true);
}
ImageView imageView3 = this.clearButton;
if (imageView3 != null) {
imageView3.setColorFilter(new PorterDuffColorFilter(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText), PorterDuff.Mode.MULTIPLY));
}
BackDrawable backDrawable = this.backDrawable;
if (backDrawable != null) {
backDrawable.setColor(Theme.usePlusTheme ? Theme.prefTitleColor : Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
}
}
public void close(boolean byBackPress, boolean force) {
if (this.parentActivity == null || this.closeAnimationInProgress || !this.isVisible || checkAnimation()) {
return;
}
if (this.fullscreenVideoContainer.getVisibility() == 0) {
if (this.customView != null) {
this.fullscreenVideoContainer.setVisibility(4);
this.customViewCallback.onCustomViewHidden();
this.fullscreenVideoContainer.removeView(this.customView);
this.customView = null;
} else {
WebPlayerView webPlayerView = this.fullscreenedVideo;
if (webPlayerView != null) {
webPlayerView.exitFullscreen();
}
}
if (!force) {
return;
}
}
if (this.textSelectionHelper.isInSelectionMode()) {
this.textSelectionHelper.clear();
return;
}
if (this.searchContainer.getTag() != null) {
showSearch(false);
return;
}
if (this.openUrlReqId != 0) {
ConnectionsManager.getInstance(this.currentAccount).cancelRequest(this.openUrlReqId, true);
this.openUrlReqId = 0;
showProgressView(true, false);
}
if (this.previewsReqId != 0) {
ConnectionsManager.getInstance(this.currentAccount).cancelRequest(this.previewsReqId, true);
this.previewsReqId = 0;
showProgressView(true, false);
}
saveCurrentPagePosition();
if (byBackPress && !force && removeLastPageFromStack()) {
return;
}
NotificationCenter.getInstance(this.currentAccount).removeObserver(this, NotificationCenter.messagePlayingProgressDidChanged);
NotificationCenter.getInstance(this.currentAccount).removeObserver(this, NotificationCenter.messagePlayingDidReset);
NotificationCenter.getInstance(this.currentAccount).removeObserver(this, NotificationCenter.messagePlayingPlayStateChanged);
NotificationCenter.getInstance(this.currentAccount).removeObserver(this, NotificationCenter.messagePlayingDidStart);
this.parentFragment = null;
try {
Dialog dialog = this.visibleDialog;
if (dialog != null) {
dialog.dismiss();
this.visibleDialog = null;
}
} catch (Exception e) {
FileLog.e(e);
}
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(this.windowView, (Property<WindowView, Float>) View.ALPHA, 0.0f), ObjectAnimator.ofFloat(this.containerView, (Property<FrameLayout, Float>) View.ALPHA, 0.0f), ObjectAnimator.ofFloat(this.windowView, (Property<WindowView, Float>) View.TRANSLATION_X, 0.0f, AndroidUtilities.dp(56.0f)));
this.animationInProgress = 2;
this.animationEndRunnable = new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$close$37();
}
};
animatorSet.setDuration(150L);
animatorSet.setInterpolator(this.interpolator);
animatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
if (ArticleViewer.this.animationEndRunnable != null) {
ArticleViewer.this.animationEndRunnable.run();
ArticleViewer.this.animationEndRunnable = null;
}
}
});
this.transitionAnimationStartTime = System.currentTimeMillis();
if (Build.VERSION.SDK_INT >= 18) {
this.containerView.setLayerType(2, null);
}
animatorSet.start();
for (int i = 0; i < this.videoStates.size(); i++) {
BlockVideoCellState blockVideoCellState = (BlockVideoCellState) this.videoStates.valueAt(i);
Bitmap bitmap = blockVideoCellState.lastFrameBitmap;
if (bitmap != null) {
bitmap.recycle();
blockVideoCellState.lastFrameBitmap = null;
}
}
this.videoStates.clear();
}
public void lambda$close$37() {
FrameLayout frameLayout = this.containerView;
if (frameLayout == null) {
return;
}
if (Build.VERSION.SDK_INT >= 18) {
frameLayout.setLayerType(0, null);
}
this.animationInProgress = 0;
onClosed();
}
public final void onClosed() {
this.isVisible = false;
for (int i = 0; i < this.listView.length; i++) {
this.adapter[i].cleanup();
}
try {
this.parentActivity.getWindow().clearFlags(128);
} catch (Exception e) {
FileLog.e(e);
}
for (int i2 = 0; i2 < this.createdWebViews.size(); i2++) {
this.createdWebViews.get(i2).destroyWebView(false);
}
this.containerView.post(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$onClosed$38();
}
});
NotificationCenter.getInstance(this.currentAccount).postNotificationName(NotificationCenter.articleClosed, new Object[0]);
}
public void lambda$onClosed$38() {
try {
if (this.windowView.getParent() != null) {
((WindowManager) this.parentActivity.getSystemService("window")).removeView(this.windowView);
}
} catch (Exception e) {
FileLog.e(e);
}
}
public final void loadChannel(final BlockChannelCell cell, final WebpageAdapter adapter, TLRPC.Chat channel) {
if (this.loadingChannel || !ChatObject.isPublic(channel)) {
return;
}
this.loadingChannel = true;
TLRPC.TL_contacts_resolveUsername tL_contacts_resolveUsername = new TLRPC.TL_contacts_resolveUsername();
tL_contacts_resolveUsername.username = channel.username;
final int i = UserConfig.selectedAccount;
ConnectionsManager.getInstance(i).sendRequest(tL_contacts_resolveUsername, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
ArticleViewer.this.lambda$loadChannel$40(adapter, i, cell, tLObject, tL_error);
}
});
}
public void lambda$loadChannel$40(final WebpageAdapter webpageAdapter, final int i, final BlockChannelCell blockChannelCell, final TLObject tLObject, final TLRPC.TL_error tL_error) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$loadChannel$39(webpageAdapter, tL_error, tLObject, i, blockChannelCell);
}
});
}
public void lambda$loadChannel$39(WebpageAdapter webpageAdapter, TLRPC.TL_error tL_error, TLObject tLObject, int i, BlockChannelCell blockChannelCell) {
this.loadingChannel = false;
if (this.parentFragment == null || webpageAdapter.blocks.isEmpty()) {
return;
}
if (tL_error == null) {
TLRPC.TL_contacts_resolvedPeer tL_contacts_resolvedPeer = (TLRPC.TL_contacts_resolvedPeer) tLObject;
if (!tL_contacts_resolvedPeer.chats.isEmpty()) {
MessagesController.getInstance(i).putUsers(tL_contacts_resolvedPeer.users, false);
MessagesController.getInstance(i).putChats(tL_contacts_resolvedPeer.chats, false);
MessagesStorage.getInstance(i).putUsersAndChats(tL_contacts_resolvedPeer.users, tL_contacts_resolvedPeer.chats, false, true);
TLRPC.Chat chat = (TLRPC.Chat) tL_contacts_resolvedPeer.chats.get(0);
this.loadedChannel = chat;
if (chat.left && !chat.kicked) {
blockChannelCell.setState(0, false);
return;
} else {
blockChannelCell.setState(4, false);
return;
}
}
blockChannelCell.setState(4, false);
return;
}
blockChannelCell.setState(4, false);
}
public final void joinChannel(final BlockChannelCell cell, final TLRPC.Chat channel) {
final TLRPC.TL_channels_joinChannel tL_channels_joinChannel = new TLRPC.TL_channels_joinChannel();
tL_channels_joinChannel.channel = MessagesController.getInputChannel(channel);
final int i = UserConfig.selectedAccount;
ConnectionsManager.getInstance(i).sendRequest(tL_channels_joinChannel, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
ArticleViewer.this.lambda$joinChannel$44(cell, i, tL_channels_joinChannel, channel, tLObject, tL_error);
}
});
}
public void lambda$joinChannel$44(final BlockChannelCell blockChannelCell, final int i, final TLRPC.TL_channels_joinChannel tL_channels_joinChannel, final TLRPC.Chat chat, TLObject tLObject, final TLRPC.TL_error tL_error) {
boolean z;
if (tL_error != null) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.this.lambda$joinChannel$41(blockChannelCell, i, tL_error, tL_channels_joinChannel);
}
});
return;
}
TLRPC.Updates updates = (TLRPC.Updates) tLObject;
int i2 = 0;
while (true) {
if (i2 >= updates.updates.size()) {
z = false;
break;
}
TLRPC.TL_updateNewChannelMessage tL_updateNewChannelMessage = (TLRPC.Update) updates.updates.get(i2);
if ((tL_updateNewChannelMessage instanceof TLRPC.TL_updateNewChannelMessage) && (tL_updateNewChannelMessage.message.action instanceof TLRPC.TL_messageActionChatAddUser)) {
z = true;
break;
}
i2++;
}
MessagesController.getInstance(i).processUpdates(updates, false);
if (!z) {
MessagesController.getInstance(i).generateJoinMessage(chat.id, true);
}
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.BlockChannelCell.this.setState(2, false);
}
});
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.lambda$joinChannel$43(i, chat);
}
}, 1000L);
MessagesStorage messagesStorage = MessagesStorage.getInstance(i);
long j = chat.id;
messagesStorage.updateDialogsWithDeletedMessages(-j, j, new ArrayList(), (ArrayList) null, true);
}
public void lambda$joinChannel$41(BlockChannelCell blockChannelCell, int i, TLRPC.TL_error tL_error, TLRPC.TL_channels_joinChannel tL_channels_joinChannel) {
blockChannelCell.setState(0, false);
AlertsCreator.processError(i, tL_error, this.parentFragment, tL_channels_joinChannel, new Object[]{Boolean.TRUE});
}
public static void lambda$joinChannel$43(int i, TLRPC.Chat chat) {
MessagesController.getInstance(i).loadFullChat(chat.id, 0, true);
}
public final boolean checkAnimation() {
if (this.animationInProgress != 0 && Math.abs(this.transitionAnimationStartTime - System.currentTimeMillis()) >= 500) {
Runnable runnable = this.animationEndRunnable;
if (runnable != null) {
runnable.run();
this.animationEndRunnable = null;
}
this.animationInProgress = 0;
}
return this.animationInProgress != 0;
}
public void destroyArticleViewer() {
WindowView windowView;
if (this.parentActivity == null || (windowView = this.windowView) == null) {
return;
}
try {
if (windowView.getParent() != null) {
((WindowManager) this.parentActivity.getSystemService("window")).removeViewImmediate(this.windowView);
}
this.windowView = null;
} catch (Exception e) {
FileLog.e(e);
}
for (int i = 0; i < this.createdWebViews.size(); i++) {
this.createdWebViews.get(i).destroyWebView(true);
}
this.createdWebViews.clear();
try {
this.parentActivity.getWindow().clearFlags(128);
} catch (Exception e2) {
FileLog.e(e2);
}
this.parentActivity = null;
this.parentFragment = null;
Instance = null;
}
public boolean isVisible() {
return this.isVisible;
}
public void showDialog(Dialog dialog) {
if (this.parentActivity == null) {
return;
}
try {
Dialog dialog2 = this.visibleDialog;
if (dialog2 != null) {
dialog2.dismiss();
this.visibleDialog = null;
}
} catch (Exception e) {
FileLog.e(e);
}
try {
this.visibleDialog = dialog;
dialog.setCanceledOnTouchOutside(true);
this.visibleDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public final void onDismiss(DialogInterface dialogInterface) {
ArticleViewer.this.lambda$showDialog$45(dialogInterface);
}
});
dialog.show();
} catch (Exception e2) {
FileLog.e(e2);
}
}
public void lambda$showDialog$45(DialogInterface dialogInterface) {
this.visibleDialog = null;
}
public static final class WebPageUtils {
public static TLRPC.Photo getPhotoWithId(TLRPC.WebPage page, long id) {
if (page != null && page.cached_page != null) {
TLRPC.Photo photo = page.photo;
if (photo != null && photo.id == id) {
return photo;
}
for (int i = 0; i < page.cached_page.photos.size(); i++) {
TLRPC.Photo photo2 = (TLRPC.Photo) page.cached_page.photos.get(i);
if (photo2.id == id) {
return photo2;
}
}
}
return null;
}
public static TLRPC.Document getDocumentWithId(TLRPC.WebPage page, long id) {
if (page != null && page.cached_page != null) {
TLRPC.Document document = page.document;
if (document != null && document.id == id) {
return document;
}
for (int i = 0; i < page.cached_page.documents.size(); i++) {
TLRPC.Document document2 = (TLRPC.Document) page.cached_page.documents.get(i);
if (document2.id == id) {
return document2;
}
}
}
return null;
}
public static boolean isVideo(TLRPC.WebPage page, TLRPC.PageBlock block) {
TLRPC.Document documentWithId;
if (!(block instanceof TLRPC.TL_pageBlockVideo) || (documentWithId = getDocumentWithId(page, ((TLRPC.TL_pageBlockVideo) block).video_id)) == null) {
return false;
}
return MessageObject.isVideoDocument(documentWithId);
}
public static TLObject getMedia(TLRPC.WebPage page, TLRPC.PageBlock block) {
if (block instanceof TLRPC.TL_pageBlockPhoto) {
return getPhotoWithId(page, ((TLRPC.TL_pageBlockPhoto) block).photo_id);
}
if (block instanceof TLRPC.TL_pageBlockVideo) {
return getDocumentWithId(page, ((TLRPC.TL_pageBlockVideo) block).video_id);
}
return null;
}
public static File getMediaFile(TLRPC.WebPage page, TLRPC.PageBlock block) {
TLRPC.Document documentWithId;
TLRPC.PhotoSize closestPhotoSizeWithSize;
if (block instanceof TLRPC.TL_pageBlockPhoto) {
TLRPC.Photo photoWithId = getPhotoWithId(page, ((TLRPC.TL_pageBlockPhoto) block).photo_id);
if (photoWithId == null || (closestPhotoSizeWithSize = FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, AndroidUtilities.getPhotoSize())) == null) {
return null;
}
return FileLoader.getInstance(UserConfig.selectedAccount).getPathToAttach(closestPhotoSizeWithSize, true);
}
if (!(block instanceof TLRPC.TL_pageBlockVideo) || (documentWithId = getDocumentWithId(page, ((TLRPC.TL_pageBlockVideo) block).video_id)) == null) {
return null;
}
return FileLoader.getInstance(UserConfig.selectedAccount).getPathToAttach(documentWithId, true);
}
}
public class WebpageAdapter extends RecyclerListView.SelectionAdapter {
public TLRPC.TL_pageBlockChannel channelBlock;
public Context context;
public TLRPC.WebPage currentPage;
public boolean isRtl;
public ArrayList<TLRPC.PageBlock> localBlocks = new ArrayList<>();
public ArrayList<TLRPC.PageBlock> blocks = new ArrayList<>();
public ArrayList<TLRPC.PageBlock> photoBlocks = new ArrayList<>();
public HashMap<String, Integer> anchors = new HashMap<>();
public HashMap<String, Integer> anchorsOffset = new HashMap<>();
public HashMap<String, TLRPC.TL_textAnchor> anchorsParent = new HashMap<>();
public HashMap<TLRPC.TL_pageBlockAudio, MessageObject> audioBlocks = new HashMap<>();
public ArrayList<MessageObject> audioMessages = new ArrayList<>();
public HashMap<Object, TLRPC.PageBlock> textToBlocks = new HashMap<>();
public ArrayList<Object> textBlocks = new ArrayList<>();
public HashMap<String, Integer> searchTextOffset = new HashMap<>();
public WebpageAdapter(Context ctx) {
this.context = ctx;
}
public final TLRPC.Photo getPhotoWithId(long id) {
return WebPageUtils.getPhotoWithId(this.currentPage, id);
}
public final TLRPC.Document getDocumentWithId(long id) {
return WebPageUtils.getDocumentWithId(this.currentPage, id);
}
public final void setRichTextParents(TLRPC.RichText parentRichText, TLRPC.RichText richText) {
if (richText == null) {
return;
}
richText.parentRichText = parentRichText;
if (richText instanceof TLRPC.TL_textFixed) {
setRichTextParents(richText, ((TLRPC.TL_textFixed) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textItalic) {
setRichTextParents(richText, ((TLRPC.TL_textItalic) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textBold) {
setRichTextParents(richText, ((TLRPC.TL_textBold) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textUnderline) {
setRichTextParents(richText, ((TLRPC.TL_textUnderline) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textStrike) {
setRichTextParents(richText, ((TLRPC.TL_textStrike) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textEmail) {
setRichTextParents(richText, ((TLRPC.TL_textEmail) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textPhone) {
setRichTextParents(richText, ((TLRPC.TL_textPhone) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textUrl) {
setRichTextParents(richText, ((TLRPC.TL_textUrl) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textConcat) {
int size = richText.texts.size();
for (int i = 0; i < size; i++) {
setRichTextParents(richText, (TLRPC.RichText) richText.texts.get(i));
}
return;
}
if (richText instanceof TLRPC.TL_textSubscript) {
setRichTextParents(richText, ((TLRPC.TL_textSubscript) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textSuperscript) {
setRichTextParents(richText, ((TLRPC.TL_textSuperscript) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textMarked) {
setRichTextParents(richText, ((TLRPC.TL_textMarked) richText).text);
return;
}
if (richText instanceof TLRPC.TL_textAnchor) {
TLRPC.TL_textAnchor tL_textAnchor = (TLRPC.TL_textAnchor) richText;
setRichTextParents(richText, tL_textAnchor.text);
String lowerCase = tL_textAnchor.name.toLowerCase();
this.anchors.put(lowerCase, Integer.valueOf(this.blocks.size()));
TLRPC.TL_textPlain tL_textPlain = tL_textAnchor.text;
if (tL_textPlain instanceof TLRPC.TL_textPlain) {
if (!TextUtils.isEmpty(tL_textPlain.text)) {
this.anchorsParent.put(lowerCase, tL_textAnchor);
}
} else if (!(tL_textPlain instanceof TLRPC.TL_textEmpty)) {
this.anchorsParent.put(lowerCase, tL_textAnchor);
}
this.anchorsOffset.put(lowerCase, -1);
}
}
public final void addTextBlock(Object text, TLRPC.PageBlock block) {
if ((text instanceof TLRPC.TL_textEmpty) || this.textToBlocks.containsKey(text)) {
return;
}
this.textToBlocks.put(text, block);
this.textBlocks.add(text);
}
public final void setRichTextParents(TLRPC.PageBlock block) {
if (block instanceof TLRPC.TL_pageBlockEmbedPost) {
TLRPC.PageBlock pageBlock = (TLRPC.TL_pageBlockEmbedPost) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockEmbedPost) pageBlock).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockEmbedPost) pageBlock).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockEmbedPost) pageBlock).caption.text, pageBlock);
addTextBlock(((TLRPC.TL_pageBlockEmbedPost) pageBlock).caption.credit, pageBlock);
return;
}
if (block instanceof TLRPC.TL_pageBlockParagraph) {
TLRPC.PageBlock pageBlock2 = (TLRPC.TL_pageBlockParagraph) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockParagraph) pageBlock2).text);
addTextBlock(((TLRPC.TL_pageBlockParagraph) pageBlock2).text, pageBlock2);
return;
}
if (block instanceof TLRPC.TL_pageBlockKicker) {
TLRPC.PageBlock pageBlock3 = (TLRPC.TL_pageBlockKicker) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockKicker) pageBlock3).text);
addTextBlock(((TLRPC.TL_pageBlockKicker) pageBlock3).text, pageBlock3);
return;
}
if (block instanceof TLRPC.TL_pageBlockFooter) {
TLRPC.PageBlock pageBlock4 = (TLRPC.TL_pageBlockFooter) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockFooter) pageBlock4).text);
addTextBlock(((TLRPC.TL_pageBlockFooter) pageBlock4).text, pageBlock4);
return;
}
if (block instanceof TLRPC.TL_pageBlockHeader) {
TLRPC.PageBlock pageBlock5 = (TLRPC.TL_pageBlockHeader) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockHeader) pageBlock5).text);
addTextBlock(((TLRPC.TL_pageBlockHeader) pageBlock5).text, pageBlock5);
return;
}
if (block instanceof TLRPC.TL_pageBlockPreformatted) {
TLRPC.PageBlock pageBlock6 = (TLRPC.TL_pageBlockPreformatted) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockPreformatted) pageBlock6).text);
addTextBlock(((TLRPC.TL_pageBlockPreformatted) pageBlock6).text, pageBlock6);
return;
}
if (block instanceof TLRPC.TL_pageBlockSubheader) {
TLRPC.PageBlock pageBlock7 = (TLRPC.TL_pageBlockSubheader) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockSubheader) pageBlock7).text);
addTextBlock(((TLRPC.TL_pageBlockSubheader) pageBlock7).text, pageBlock7);
return;
}
int i = 0;
if (block instanceof TLRPC.TL_pageBlockSlideshow) {
TLRPC.PageBlock pageBlock8 = (TLRPC.TL_pageBlockSlideshow) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockSlideshow) pageBlock8).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockSlideshow) pageBlock8).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockSlideshow) pageBlock8).caption.text, pageBlock8);
addTextBlock(((TLRPC.TL_pageBlockSlideshow) pageBlock8).caption.credit, pageBlock8);
int size = ((TLRPC.TL_pageBlockSlideshow) pageBlock8).items.size();
while (i < size) {
setRichTextParents((TLRPC.PageBlock) ((TLRPC.TL_pageBlockSlideshow) pageBlock8).items.get(i));
i++;
}
return;
}
if (block instanceof TLRPC.TL_pageBlockPhoto) {
TLRPC.PageBlock pageBlock9 = (TLRPC.TL_pageBlockPhoto) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockPhoto) pageBlock9).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockPhoto) pageBlock9).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockPhoto) pageBlock9).caption.text, pageBlock9);
addTextBlock(((TLRPC.TL_pageBlockPhoto) pageBlock9).caption.credit, pageBlock9);
return;
}
if (block instanceof TL_pageBlockListItem) {
TL_pageBlockListItem tL_pageBlockListItem = (TL_pageBlockListItem) block;
if (tL_pageBlockListItem.textItem != null) {
setRichTextParents(null, tL_pageBlockListItem.textItem);
addTextBlock(tL_pageBlockListItem.textItem, tL_pageBlockListItem);
return;
} else {
if (tL_pageBlockListItem.blockItem != null) {
setRichTextParents(tL_pageBlockListItem.blockItem);
return;
}
return;
}
}
if (block instanceof TL_pageBlockOrderedListItem) {
TL_pageBlockOrderedListItem tL_pageBlockOrderedListItem = (TL_pageBlockOrderedListItem) block;
if (tL_pageBlockOrderedListItem.textItem != null) {
setRichTextParents(null, tL_pageBlockOrderedListItem.textItem);
addTextBlock(tL_pageBlockOrderedListItem.textItem, tL_pageBlockOrderedListItem);
return;
} else {
if (tL_pageBlockOrderedListItem.blockItem != null) {
setRichTextParents(tL_pageBlockOrderedListItem.blockItem);
return;
}
return;
}
}
if (block instanceof TLRPC.TL_pageBlockCollage) {
TLRPC.PageBlock pageBlock10 = (TLRPC.TL_pageBlockCollage) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockCollage) pageBlock10).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockCollage) pageBlock10).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockCollage) pageBlock10).caption.text, pageBlock10);
addTextBlock(((TLRPC.TL_pageBlockCollage) pageBlock10).caption.credit, pageBlock10);
int size2 = ((TLRPC.TL_pageBlockCollage) pageBlock10).items.size();
while (i < size2) {
setRichTextParents((TLRPC.PageBlock) ((TLRPC.TL_pageBlockCollage) pageBlock10).items.get(i));
i++;
}
return;
}
if (block instanceof TLRPC.TL_pageBlockEmbed) {
TLRPC.PageBlock pageBlock11 = (TLRPC.TL_pageBlockEmbed) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockEmbed) pageBlock11).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockEmbed) pageBlock11).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockEmbed) pageBlock11).caption.text, pageBlock11);
addTextBlock(((TLRPC.TL_pageBlockEmbed) pageBlock11).caption.credit, pageBlock11);
return;
}
if (block instanceof TLRPC.TL_pageBlockSubtitle) {
TLRPC.PageBlock pageBlock12 = (TLRPC.TL_pageBlockSubtitle) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockSubtitle) pageBlock12).text);
addTextBlock(((TLRPC.TL_pageBlockSubtitle) pageBlock12).text, pageBlock12);
return;
}
if (block instanceof TLRPC.TL_pageBlockBlockquote) {
TLRPC.PageBlock pageBlock13 = (TLRPC.TL_pageBlockBlockquote) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockBlockquote) pageBlock13).text);
setRichTextParents(null, ((TLRPC.TL_pageBlockBlockquote) pageBlock13).caption);
addTextBlock(((TLRPC.TL_pageBlockBlockquote) pageBlock13).text, pageBlock13);
addTextBlock(((TLRPC.TL_pageBlockBlockquote) pageBlock13).caption, pageBlock13);
return;
}
if (block instanceof TLRPC.TL_pageBlockDetails) {
TLRPC.PageBlock pageBlock14 = (TLRPC.TL_pageBlockDetails) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockDetails) pageBlock14).title);
addTextBlock(((TLRPC.TL_pageBlockDetails) pageBlock14).title, pageBlock14);
int size3 = ((TLRPC.TL_pageBlockDetails) pageBlock14).blocks.size();
while (i < size3) {
setRichTextParents((TLRPC.PageBlock) ((TLRPC.TL_pageBlockDetails) pageBlock14).blocks.get(i));
i++;
}
return;
}
if (block instanceof TLRPC.TL_pageBlockVideo) {
TLRPC.PageBlock pageBlock15 = (TLRPC.TL_pageBlockVideo) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockVideo) pageBlock15).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockVideo) pageBlock15).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockVideo) pageBlock15).caption.text, pageBlock15);
addTextBlock(((TLRPC.TL_pageBlockVideo) pageBlock15).caption.credit, pageBlock15);
return;
}
if (block instanceof TLRPC.TL_pageBlockPullquote) {
TLRPC.PageBlock pageBlock16 = (TLRPC.TL_pageBlockPullquote) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockPullquote) pageBlock16).text);
setRichTextParents(null, ((TLRPC.TL_pageBlockPullquote) pageBlock16).caption);
addTextBlock(((TLRPC.TL_pageBlockPullquote) pageBlock16).text, pageBlock16);
addTextBlock(((TLRPC.TL_pageBlockPullquote) pageBlock16).caption, pageBlock16);
return;
}
if (block instanceof TLRPC.TL_pageBlockAudio) {
TLRPC.PageBlock pageBlock17 = (TLRPC.TL_pageBlockAudio) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockAudio) pageBlock17).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockAudio) pageBlock17).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockAudio) pageBlock17).caption.text, pageBlock17);
addTextBlock(((TLRPC.TL_pageBlockAudio) pageBlock17).caption.credit, pageBlock17);
return;
}
if (block instanceof TLRPC.TL_pageBlockTable) {
TLRPC.PageBlock pageBlock18 = (TLRPC.TL_pageBlockTable) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockTable) pageBlock18).title);
addTextBlock(((TLRPC.TL_pageBlockTable) pageBlock18).title, pageBlock18);
int size4 = ((TLRPC.TL_pageBlockTable) pageBlock18).rows.size();
for (int i2 = 0; i2 < size4; i2++) {
TLRPC.TL_pageTableRow tL_pageTableRow = (TLRPC.TL_pageTableRow) ((TLRPC.TL_pageBlockTable) pageBlock18).rows.get(i2);
int size5 = tL_pageTableRow.cells.size();
for (int i3 = 0; i3 < size5; i3++) {
TLRPC.TL_pageTableCell tL_pageTableCell = (TLRPC.TL_pageTableCell) tL_pageTableRow.cells.get(i3);
setRichTextParents(null, tL_pageTableCell.text);
addTextBlock(tL_pageTableCell.text, pageBlock18);
}
}
return;
}
if (block instanceof TLRPC.TL_pageBlockTitle) {
TLRPC.PageBlock pageBlock19 = (TLRPC.TL_pageBlockTitle) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockTitle) pageBlock19).text);
addTextBlock(((TLRPC.TL_pageBlockTitle) pageBlock19).text, pageBlock19);
return;
}
if (block instanceof TLRPC.TL_pageBlockCover) {
setRichTextParents(((TLRPC.TL_pageBlockCover) block).cover);
return;
}
if (block instanceof TLRPC.TL_pageBlockAuthorDate) {
TLRPC.PageBlock pageBlock20 = (TLRPC.TL_pageBlockAuthorDate) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockAuthorDate) pageBlock20).author);
addTextBlock(((TLRPC.TL_pageBlockAuthorDate) pageBlock20).author, pageBlock20);
} else {
if (block instanceof TLRPC.TL_pageBlockMap) {
TLRPC.PageBlock pageBlock21 = (TLRPC.TL_pageBlockMap) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockMap) pageBlock21).caption.text);
setRichTextParents(null, ((TLRPC.TL_pageBlockMap) pageBlock21).caption.credit);
addTextBlock(((TLRPC.TL_pageBlockMap) pageBlock21).caption.text, pageBlock21);
addTextBlock(((TLRPC.TL_pageBlockMap) pageBlock21).caption.credit, pageBlock21);
return;
}
if (block instanceof TLRPC.TL_pageBlockRelatedArticles) {
TLRPC.PageBlock pageBlock22 = (TLRPC.TL_pageBlockRelatedArticles) block;
setRichTextParents(null, ((TLRPC.TL_pageBlockRelatedArticles) pageBlock22).title);
addTextBlock(((TLRPC.TL_pageBlockRelatedArticles) pageBlock22).title, pageBlock22);
}
}
}
public final void addBlock(org.telegram.ui.ArticleViewer.WebpageAdapter r25, org.telegram.tgnet.TLRPC.PageBlock r26, int r27, int r28, int r29) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.WebpageAdapter.addBlock(org.telegram.ui.ArticleViewer$WebpageAdapter, org.telegram.tgnet.TLRPC$PageBlock, int, int, int):void");
}
public final void addAllMediaFromBlock(WebpageAdapter adapter, TLRPC.PageBlock block) {
if (block instanceof TLRPC.TL_pageBlockPhoto) {
TLRPC.TL_pageBlockPhoto tL_pageBlockPhoto = (TLRPC.TL_pageBlockPhoto) block;
TLRPC.Photo photoWithId = getPhotoWithId(tL_pageBlockPhoto.photo_id);
if (photoWithId != null) {
((TLRPC.PageBlock) tL_pageBlockPhoto).thumb = FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, 56, true);
((TLRPC.PageBlock) tL_pageBlockPhoto).thumbObject = photoWithId;
this.photoBlocks.add(block);
return;
}
return;
}
if ((block instanceof TLRPC.TL_pageBlockVideo) && WebPageUtils.isVideo(adapter.currentPage, block)) {
TLRPC.TL_pageBlockVideo tL_pageBlockVideo = (TLRPC.TL_pageBlockVideo) block;
TLRPC.Document documentWithId = getDocumentWithId(tL_pageBlockVideo.video_id);
if (documentWithId != null) {
((TLRPC.PageBlock) tL_pageBlockVideo).thumb = FileLoader.getClosestPhotoSizeWithSize(documentWithId.thumbs, 56, true);
((TLRPC.PageBlock) tL_pageBlockVideo).thumbObject = documentWithId;
this.photoBlocks.add(block);
return;
}
return;
}
int i = 0;
if (block instanceof TLRPC.TL_pageBlockSlideshow) {
TLRPC.TL_pageBlockSlideshow tL_pageBlockSlideshow = (TLRPC.TL_pageBlockSlideshow) block;
int size = tL_pageBlockSlideshow.items.size();
while (i < size) {
TLRPC.PageBlock pageBlock = (TLRPC.PageBlock) tL_pageBlockSlideshow.items.get(i);
pageBlock.groupId = ArticleViewer.this.lastBlockNum;
addAllMediaFromBlock(adapter, pageBlock);
i++;
}
ArticleViewer.this.lastBlockNum++;
return;
}
if (block instanceof TLRPC.TL_pageBlockCollage) {
TLRPC.TL_pageBlockCollage tL_pageBlockCollage = (TLRPC.TL_pageBlockCollage) block;
int size2 = tL_pageBlockCollage.items.size();
while (i < size2) {
TLRPC.PageBlock pageBlock2 = (TLRPC.PageBlock) tL_pageBlockCollage.items.get(i);
pageBlock2.groupId = ArticleViewer.this.lastBlockNum;
addAllMediaFromBlock(adapter, pageBlock2);
i++;
}
ArticleViewer.this.lastBlockNum++;
return;
}
if (block instanceof TLRPC.TL_pageBlockCover) {
addAllMediaFromBlock(adapter, ((TLRPC.TL_pageBlockCover) block).cover);
}
}
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
DownloadController.FileDownloadProgressListener reportCell;
DownloadController.FileDownloadProgressListener blockVideoCell;
if (viewType != 90) {
switch (viewType) {
case 0:
reportCell = ArticleViewer.this.new BlockParagraphCell(this.context, this);
break;
case 1:
reportCell = ArticleViewer.this.new BlockHeaderCell(this.context, this);
break;
case 2:
reportCell = new BlockDividerCell(this.context);
break;
case 3:
reportCell = ArticleViewer.this.new BlockEmbedCell(this.context, this);
break;
case 4:
reportCell = ArticleViewer.this.new BlockSubtitleCell(this.context, this);
break;
case 5:
blockVideoCell = ArticleViewer.this.new BlockVideoCell(this.context, this, 0);
reportCell = blockVideoCell;
break;
case 6:
reportCell = ArticleViewer.this.new BlockPullquoteCell(this.context, this);
break;
case 7:
reportCell = ArticleViewer.this.new BlockBlockquoteCell(this.context, this);
break;
case 8:
reportCell = ArticleViewer.this.new BlockSlideshowCell(this.context, this);
break;
case 9:
blockVideoCell = ArticleViewer.this.new BlockPhotoCell(this.context, this, 0);
reportCell = blockVideoCell;
break;
case 10:
reportCell = ArticleViewer.this.new BlockAuthorDateCell(this.context, this);
break;
case 11:
reportCell = ArticleViewer.this.new BlockTitleCell(this.context, this);
break;
case 12:
reportCell = ArticleViewer.this.new BlockListItemCell(this.context, this);
break;
case 13:
reportCell = ArticleViewer.this.new BlockFooterCell(this.context, this);
break;
case 14:
reportCell = ArticleViewer.this.new BlockPreformattedCell(this.context, this);
break;
case 15:
reportCell = ArticleViewer.this.new BlockSubheaderCell(this.context, this);
break;
case 16:
reportCell = ArticleViewer.this.new BlockEmbedPostCell(this.context, this);
break;
case 17:
reportCell = ArticleViewer.this.new BlockCollageCell(this.context, this);
break;
case 18:
blockVideoCell = ArticleViewer.this.new BlockChannelCell(this.context, this, 0);
reportCell = blockVideoCell;
break;
case 19:
reportCell = ArticleViewer.this.new BlockAudioCell(this.context, this);
break;
case 20:
reportCell = ArticleViewer.this.new BlockKickerCell(this.context, this);
break;
case 21:
reportCell = ArticleViewer.this.new BlockOrderedListItemCell(this.context, this);
break;
case 22:
blockVideoCell = ArticleViewer.this.new BlockMapCell(this.context, this, 0);
reportCell = blockVideoCell;
break;
case 23:
reportCell = ArticleViewer.this.new BlockRelatedArticlesCell(this.context, this);
break;
case 24:
reportCell = ArticleViewer.this.new BlockDetailsCell(this.context, this);
break;
case 25:
reportCell = ArticleViewer.this.new BlockTableCell(this.context, this);
break;
case 26:
reportCell = ArticleViewer.this.new BlockRelatedArticlesHeaderCell(this.context, this);
break;
case 27:
reportCell = new BlockDetailsBottomCell(this.context);
break;
case 28:
reportCell = new BlockRelatedArticlesShadowCell(this.context);
break;
default:
reportCell = new TextView(this.context);
reportCell.setBackgroundColor(-65536);
reportCell.setTextColor(-16777216);
reportCell.setTextSize(1, 20.0f);
break;
}
} else {
reportCell = new ReportCell(this.context);
}
reportCell.setLayoutParams(new RecyclerView.LayoutParams(-1, -2));
reportCell.setFocusable(true);
return new RecyclerListView.Holder(reportCell);
}
public boolean isEnabled(RecyclerView.ViewHolder holder) {
int itemViewType = holder.getItemViewType();
return itemViewType == 23 || itemViewType == 24;
}
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (position < this.localBlocks.size()) {
bindBlockToHolder(holder.getItemViewType(), holder, this.localBlocks.get(position), position, this.localBlocks.size());
}
}
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {
if (holder.getItemViewType() == 90) {
ReportCell reportCell = (ReportCell) holder.itemView;
TLRPC.Page page = this.currentPage.cached_page;
reportCell.setViews(page != null ? page.views : 0);
}
}
public final void bindBlockToHolder(int type, RecyclerView.ViewHolder holder, TLRPC.PageBlock block, int position, int total) {
TLRPC.PageBlock pageBlock;
if (block instanceof TLRPC.TL_pageBlockCover) {
pageBlock = ((TLRPC.TL_pageBlockCover) block).cover;
} else {
pageBlock = block instanceof TL_pageBlockDetailsChild ? ((TL_pageBlockDetailsChild) block).block : block;
}
if (type != 100) {
switch (type) {
case 0:
((BlockParagraphCell) holder.itemView).setBlock((TLRPC.TL_pageBlockParagraph) pageBlock);
break;
case 1:
((BlockHeaderCell) holder.itemView).setBlock((TLRPC.TL_pageBlockHeader) pageBlock);
break;
case 2:
break;
case 3:
((BlockEmbedCell) holder.itemView).setBlock((TLRPC.TL_pageBlockEmbed) pageBlock);
break;
case 4:
((BlockSubtitleCell) holder.itemView).setBlock((TLRPC.TL_pageBlockSubtitle) pageBlock);
break;
case 5:
BlockVideoCell blockVideoCell = (BlockVideoCell) holder.itemView;
TLRPC.TL_pageBlockVideo tL_pageBlockVideo = (TLRPC.TL_pageBlockVideo) pageBlock;
blockVideoCell.setBlock(tL_pageBlockVideo, (BlockVideoCellState) ArticleViewer.this.videoStates.get(tL_pageBlockVideo.video_id), position == 0, position == total - 1);
blockVideoCell.setParentBlock(this.channelBlock, block);
break;
case 6:
((BlockPullquoteCell) holder.itemView).setBlock((TLRPC.TL_pageBlockPullquote) pageBlock);
break;
case 7:
((BlockBlockquoteCell) holder.itemView).setBlock((TLRPC.TL_pageBlockBlockquote) pageBlock);
break;
case 8:
((BlockSlideshowCell) holder.itemView).setBlock((TLRPC.TL_pageBlockSlideshow) pageBlock);
break;
case 9:
BlockPhotoCell blockPhotoCell = (BlockPhotoCell) holder.itemView;
blockPhotoCell.setBlock((TLRPC.TL_pageBlockPhoto) pageBlock, position == 0, position == total - 1);
blockPhotoCell.setParentBlock(block);
break;
case 10:
((BlockAuthorDateCell) holder.itemView).setBlock((TLRPC.TL_pageBlockAuthorDate) pageBlock);
break;
case 11:
((BlockTitleCell) holder.itemView).setBlock((TLRPC.TL_pageBlockTitle) pageBlock);
break;
case 12:
((BlockListItemCell) holder.itemView).setBlock((TL_pageBlockListItem) pageBlock);
break;
case 13:
((BlockFooterCell) holder.itemView).setBlock((TLRPC.TL_pageBlockFooter) pageBlock);
break;
case 14:
((BlockPreformattedCell) holder.itemView).setBlock((TLRPC.TL_pageBlockPreformatted) pageBlock);
break;
case 15:
((BlockSubheaderCell) holder.itemView).setBlock((TLRPC.TL_pageBlockSubheader) pageBlock);
break;
case 16:
((BlockEmbedPostCell) holder.itemView).setBlock((TLRPC.TL_pageBlockEmbedPost) pageBlock);
break;
case 17:
((BlockCollageCell) holder.itemView).setBlock((TLRPC.TL_pageBlockCollage) pageBlock);
break;
case 18:
((BlockChannelCell) holder.itemView).setBlock((TLRPC.TL_pageBlockChannel) pageBlock);
break;
case 19:
((BlockAudioCell) holder.itemView).setBlock((TLRPC.TL_pageBlockAudio) pageBlock, position == 0, position == total - 1);
break;
case 20:
((BlockKickerCell) holder.itemView).setBlock((TLRPC.TL_pageBlockKicker) pageBlock);
break;
case 21:
((BlockOrderedListItemCell) holder.itemView).setBlock((TL_pageBlockOrderedListItem) pageBlock);
break;
case 22:
((BlockMapCell) holder.itemView).setBlock((TLRPC.TL_pageBlockMap) pageBlock, position == 0, position == total - 1);
break;
case 23:
((BlockRelatedArticlesCell) holder.itemView).setBlock((TL_pageBlockRelatedArticlesChild) pageBlock);
break;
case 24:
((BlockDetailsCell) holder.itemView).setBlock((TLRPC.TL_pageBlockDetails) pageBlock);
break;
case 25:
((BlockTableCell) holder.itemView).setBlock((TLRPC.TL_pageBlockTable) pageBlock);
break;
case 26:
((BlockRelatedArticlesHeaderCell) holder.itemView).setBlock((TLRPC.TL_pageBlockRelatedArticles) pageBlock);
break;
case 27:
break;
}
}
((TextView) holder.itemView).setText("unsupported block " + pageBlock);
}
public final int getTypeForBlock(TLRPC.PageBlock block) {
if (block instanceof TLRPC.TL_pageBlockParagraph) {
return 0;
}
if (block instanceof TLRPC.TL_pageBlockHeader) {
return 1;
}
if (block instanceof TLRPC.TL_pageBlockDivider) {
return 2;
}
if (block instanceof TLRPC.TL_pageBlockEmbed) {
return 3;
}
if (block instanceof TLRPC.TL_pageBlockSubtitle) {
return 4;
}
if (block instanceof TLRPC.TL_pageBlockVideo) {
return 5;
}
if (block instanceof TLRPC.TL_pageBlockPullquote) {
return 6;
}
if (block instanceof TLRPC.TL_pageBlockBlockquote) {
return 7;
}
if (block instanceof TLRPC.TL_pageBlockSlideshow) {
return 8;
}
if (block instanceof TLRPC.TL_pageBlockPhoto) {
return 9;
}
if (block instanceof TLRPC.TL_pageBlockAuthorDate) {
return 10;
}
if (block instanceof TLRPC.TL_pageBlockTitle) {
return 11;
}
if (block instanceof TL_pageBlockListItem) {
return 12;
}
if (block instanceof TLRPC.TL_pageBlockFooter) {
return 13;
}
if (block instanceof TLRPC.TL_pageBlockPreformatted) {
return 14;
}
if (block instanceof TLRPC.TL_pageBlockSubheader) {
return 15;
}
if (block instanceof TLRPC.TL_pageBlockEmbedPost) {
return 16;
}
if (block instanceof TLRPC.TL_pageBlockCollage) {
return 17;
}
if (block instanceof TLRPC.TL_pageBlockChannel) {
return 18;
}
if (block instanceof TLRPC.TL_pageBlockAudio) {
return 19;
}
if (block instanceof TLRPC.TL_pageBlockKicker) {
return 20;
}
if (block instanceof TL_pageBlockOrderedListItem) {
return 21;
}
if (block instanceof TLRPC.TL_pageBlockMap) {
return 22;
}
if (block instanceof TL_pageBlockRelatedArticlesChild) {
return 23;
}
if (block instanceof TLRPC.TL_pageBlockDetails) {
return 24;
}
if (block instanceof TLRPC.TL_pageBlockTable) {
return 25;
}
if (block instanceof TLRPC.TL_pageBlockRelatedArticles) {
return 26;
}
if (block instanceof TL_pageBlockRelatedArticlesShadow) {
return 28;
}
if (block instanceof TL_pageBlockDetailsChild) {
return getTypeForBlock(((TL_pageBlockDetailsChild) block).block);
}
if (block instanceof TLRPC.TL_pageBlockCover) {
return getTypeForBlock(((TLRPC.TL_pageBlockCover) block).cover);
}
return 100;
}
public int getItemViewType(int position) {
if (position == this.localBlocks.size()) {
return 90;
}
return getTypeForBlock(this.localBlocks.get(position));
}
public int getItemCount() {
TLRPC.WebPage webPage = this.currentPage;
if (webPage == null || webPage.cached_page == null) {
return 0;
}
return this.localBlocks.size() + 1;
}
public final boolean isBlockOpened(TL_pageBlockDetailsChild child) {
TLRPC.TL_pageBlockDetails lastNonListPageBlock = ArticleViewer.this.getLastNonListPageBlock(child.parent);
if (lastNonListPageBlock instanceof TLRPC.TL_pageBlockDetails) {
return lastNonListPageBlock.open;
}
if (!(lastNonListPageBlock instanceof TL_pageBlockDetailsChild)) {
return false;
}
TL_pageBlockDetailsChild tL_pageBlockDetailsChild = (TL_pageBlockDetailsChild) lastNonListPageBlock;
TLRPC.TL_pageBlockDetails lastNonListPageBlock2 = ArticleViewer.this.getLastNonListPageBlock(tL_pageBlockDetailsChild.block);
if (!(lastNonListPageBlock2 instanceof TLRPC.TL_pageBlockDetails) || lastNonListPageBlock2.open) {
return isBlockOpened(tL_pageBlockDetailsChild);
}
return false;
}
public final void updateRows() {
this.localBlocks.clear();
int size = this.blocks.size();
for (int i = 0; i < size; i++) {
TLRPC.PageBlock pageBlock = this.blocks.get(i);
TLRPC.PageBlock lastNonListPageBlock = ArticleViewer.this.getLastNonListPageBlock(pageBlock);
if (!(lastNonListPageBlock instanceof TL_pageBlockDetailsChild) || isBlockOpened((TL_pageBlockDetailsChild) lastNonListPageBlock)) {
this.localBlocks.add(pageBlock);
}
}
}
public final void cleanup() {
this.currentPage = null;
this.blocks.clear();
this.photoBlocks.clear();
this.audioBlocks.clear();
this.audioMessages.clear();
this.anchors.clear();
this.anchorsParent.clear();
this.anchorsOffset.clear();
this.textBlocks.clear();
this.textToBlocks.clear();
this.channelBlock = null;
notifyDataSetChanged();
}
public void notifyDataSetChanged() {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyDataSetChanged();
}
public void notifyItemChanged(int position) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemChanged(position);
}
public void notifyItemRangeChanged(int positionStart, int itemCount) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemRangeChanged(positionStart, itemCount);
}
public void notifyItemRangeChanged(int positionStart, int itemCount, Object payload) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemRangeChanged(positionStart, itemCount, payload);
}
public void notifyItemInserted(int position) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemInserted(position);
}
public void notifyItemMoved(int fromPosition, int toPosition) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemMoved(fromPosition, toPosition);
}
public void notifyItemRangeInserted(int positionStart, int itemCount) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemRangeInserted(positionStart, itemCount);
}
public void notifyItemRemoved(int position) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemRemoved(position);
}
public void notifyItemRangeRemoved(int positionStart, int itemCount) {
updateRows();
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyItemRangeRemoved(positionStart, itemCount);
}
}
public static class BlockVideoCellState {
public Bitmap lastFrameBitmap;
public long playFrom;
public static BlockVideoCellState fromPlayer(VideoPlayerHolderBase player, BlockVideoCell videoCell) {
BlockVideoCellState blockVideoCellState = new BlockVideoCellState();
blockVideoCellState.playFrom = player.getCurrentPosition();
if (player.firstFrameRendered && videoCell.textureView != null && videoCell.textureView.getSurfaceTexture() != null) {
if (Build.VERSION.SDK_INT >= 24) {
Surface surface = new Surface(videoCell.textureView.getSurfaceTexture());
Bitmap createBitmap = Bitmap.createBitmap(videoCell.textureView.getMeasuredWidth(), videoCell.textureView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
AndroidUtilities.getBitmapFromSurface(surface, createBitmap);
surface.release();
blockVideoCellState.lastFrameBitmap = createBitmap;
} else {
blockVideoCellState.lastFrameBitmap = videoCell.textureView.getBitmap();
}
}
return blockVideoCellState;
}
public static BlockVideoCellState fromPlayer(VideoPlayer player, BlockVideoCell videoCell, TextureView textureView) {
BlockVideoCellState blockVideoCellState = new BlockVideoCellState();
blockVideoCellState.playFrom = player.getCurrentPosition();
if (textureView != null && textureView.getSurfaceTexture() != null) {
if (Build.VERSION.SDK_INT >= 24) {
Surface surface = new Surface(textureView.getSurfaceTexture());
Bitmap createBitmap = Bitmap.createBitmap(textureView.getMeasuredWidth(), textureView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
AndroidUtilities.getBitmapFromSurface(surface, createBitmap);
surface.release();
blockVideoCellState.lastFrameBitmap = createBitmap;
} else {
blockVideoCellState.lastFrameBitmap = textureView.getBitmap();
}
}
return blockVideoCellState;
}
public static BlockVideoCellState fromPlayer(VideoPlayer player, BlockVideoCell videoCell, SurfaceView surfaceView) {
BlockVideoCellState blockVideoCellState = new BlockVideoCellState();
blockVideoCellState.playFrom = player.getCurrentPosition();
if (surfaceView != null && Build.VERSION.SDK_INT >= 24) {
Bitmap createBitmap = Bitmap.createBitmap(surfaceView.getMeasuredWidth(), surfaceView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
AndroidUtilities.getBitmapFromSurface(surfaceView, createBitmap);
blockVideoCellState.lastFrameBitmap = createBitmap;
}
return blockVideoCellState;
}
}
public class BlockVideoCell extends FrameLayout implements DownloadController.FileDownloadProgressListener, TextSelectionHelper.ArticleSelectableView {
public int TAG;
public AspectRatioFrameLayout aspectRatioFrameLayout;
public FrameLayout aspectRationContainer;
public boolean autoDownload;
public int buttonPressed;
public int buttonState;
public int buttonX;
public int buttonY;
public boolean cancelLoading;
public DrawingText captionLayout;
public BlockChannelCell channelCell;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockVideo currentBlock;
public TLRPC.Document currentDocument;
public int currentType;
public boolean firstFrameRendered;
public MessageObject.GroupedMessagePosition groupPosition;
public ImageReceiver imageView;
public boolean isFirst;
public boolean isGif;
public WebpageAdapter parentAdapter;
public TLRPC.PageBlock parentBlock;
public boolean photoPressed;
public RadialProgress2 radialProgress;
public int textX;
public int textY;
public TextureView textureView;
public BlockVideoCellState videoState;
public void onProgressUpload(String fileName, long uploadedSize, long totalSize, boolean isEncrypted) {
}
public BlockVideoCell(Context context, WebpageAdapter adapter, int type) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
ImageReceiver imageReceiver = new ImageReceiver(this);
this.imageView = imageReceiver;
imageReceiver.setNeedsQualityThumb(true);
this.imageView.setShouldGenerateQualityThumb(true);
this.currentType = type;
RadialProgress2 radialProgress2 = new RadialProgress2(this);
this.radialProgress = radialProgress2;
radialProgress2.setProgressColor(-1);
this.radialProgress.setColors(1711276032, 2130706432, -1, -2500135);
this.TAG = DownloadController.getInstance(ArticleViewer.this.currentAccount).generateObserverTag();
this.channelCell = ArticleViewer.this.new BlockChannelCell(context, this.parentAdapter, 1);
AspectRatioFrameLayout aspectRatioFrameLayout = new AspectRatioFrameLayout(context);
this.aspectRatioFrameLayout = aspectRatioFrameLayout;
aspectRatioFrameLayout.setResizeMode(0);
TextureView textureView = new TextureView(context);
this.textureView = textureView;
textureView.setOpaque(false);
this.aspectRationContainer = new FrameLayout(getContext());
this.aspectRatioFrameLayout.addView(this.textureView, LayoutHelper.createFrame(-1, -2, 1));
this.aspectRationContainer.addView((View) this.aspectRatioFrameLayout, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -1, 17));
addView(this.aspectRationContainer, LayoutHelper.createFrame(-1, -2.0f));
addView(this.channelCell, LayoutHelper.createFrame(-1, -2.0f));
}
@Override
public boolean drawChild(Canvas canvas, View child, long drawingTime) {
if (child == this.aspectRationContainer && ArticleViewer.this.pinchToZoomHelper.isInOverlayModeFor(this)) {
return true;
}
return super.drawChild(canvas, child, drawingTime);
}
public void setBlock(TLRPC.TL_pageBlockVideo block, BlockVideoCellState state, boolean first, boolean last) {
if (this.currentBlock != null) {
ArticleViewer articleViewer = ArticleViewer.this;
if (articleViewer.videoPlayer != null && articleViewer.currentPlayer == this) {
LongSparseArray longSparseArray = articleViewer.videoStates;
long j = this.currentBlock.video_id;
BlockVideoCellState fromPlayer = BlockVideoCellState.fromPlayer(ArticleViewer.this.videoPlayer, this);
this.videoState = fromPlayer;
longSparseArray.put(j, fromPlayer);
}
}
this.currentBlock = block;
this.videoState = state;
this.parentBlock = null;
TLRPC.Document documentWithId = this.parentAdapter.getDocumentWithId(block.video_id);
this.currentDocument = documentWithId;
this.isGif = MessageObject.isVideoDocument(documentWithId) || MessageObject.isGifDocument(this.currentDocument);
this.isFirst = first;
this.channelCell.setVisibility(4);
updateButtonState(false);
requestLayout();
}
public void setParentBlock(TLRPC.TL_pageBlockChannel channelBlock, TLRPC.PageBlock block) {
this.parentBlock = block;
if (channelBlock == null || !(block instanceof TLRPC.TL_pageBlockCover)) {
return;
}
this.channelCell.setBlock(channelBlock);
this.channelCell.setVisibility(0);
}
@Override
public boolean onTouchEvent(android.view.MotionEvent r13) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockVideoCell.onTouchEvent(android.view.MotionEvent):boolean");
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r32, int r33) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockVideoCell.onMeasure(int, int):void");
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (!this.imageView.hasBitmapImage() || this.imageView.getCurrentAlpha() != 1.0f) {
canvas.drawRect(this.imageView.getDrawRegion(), ArticleViewer.photoBackgroundPaint);
}
if (!ArticleViewer.this.pinchToZoomHelper.isInOverlayModeFor(this)) {
this.imageView.draw(canvas);
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
super.onDraw(canvas);
if (ArticleViewer.this.pinchToZoomHelper.isInOverlayModeFor(this) || !this.imageView.getVisible()) {
return;
}
this.radialProgress.draw(canvas);
}
public final int getIconForCurrentState() {
int i = this.buttonState;
if (i == 0) {
return 2;
}
if (i == 1) {
return 3;
}
if (i == 2) {
return 8;
}
return i == 3 ? 0 : 4;
}
public void updateButtonState(boolean animated) {
String attachFileName = FileLoader.getAttachFileName(this.currentDocument);
boolean z = true;
boolean z2 = FileLoader.getInstance(ArticleViewer.this.currentAccount).getPathToAttach(this.currentDocument).exists() || FileLoader.getInstance(ArticleViewer.this.currentAccount).getPathToAttach(this.currentDocument, true).exists();
if (TextUtils.isEmpty(attachFileName)) {
this.radialProgress.setIcon(4, false, false);
return;
}
if (z2) {
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
if (!this.isGif) {
this.buttonState = 3;
} else {
this.buttonState = -1;
}
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
} else {
DownloadController.getInstance(ArticleViewer.this.currentAccount).addLoadingFileObserver(attachFileName, (MessageObject) null, this);
BlockVideoCellState blockVideoCellState = this.videoState;
float f = 0.0f;
if (blockVideoCellState != null && blockVideoCellState.lastFrameBitmap != null) {
this.buttonState = -1;
} else {
if (!FileLoader.getInstance(ArticleViewer.this.currentAccount).isLoadingFile(attachFileName)) {
if (!this.cancelLoading && this.autoDownload && this.isGif) {
this.buttonState = 1;
} else {
this.buttonState = 0;
}
} else {
this.buttonState = 1;
Float fileProgress = ImageLoader.getInstance().getFileProgress(attachFileName);
if (fileProgress != null) {
f = fileProgress.floatValue();
}
}
this.radialProgress.setIcon(getIconForCurrentState(), z, animated);
this.radialProgress.setProgress(f, false);
}
z = false;
this.radialProgress.setIcon(getIconForCurrentState(), z, animated);
this.radialProgress.setProgress(f, false);
}
invalidate();
}
public final void didPressedButton(boolean animated) {
int i = this.buttonState;
if (i == 0) {
this.cancelLoading = false;
this.radialProgress.setProgress(0.0f, false);
if (this.isGif) {
this.imageView.setImage(ImageLocation.getForDocument(this.currentDocument), (String) null, ImageLocation.getForDocument(FileLoader.getClosestPhotoSizeWithSize(this.currentDocument.thumbs, 40), this.currentDocument), "80_80_b", this.currentDocument.size, (String) null, this.parentAdapter.currentPage, 1);
} else {
FileLoader.getInstance(ArticleViewer.this.currentAccount).loadFile(this.currentDocument, this.parentAdapter.currentPage, 1, 1);
}
this.buttonState = 1;
this.radialProgress.setIcon(getIconForCurrentState(), true, animated);
invalidate();
return;
}
if (i == 1) {
this.cancelLoading = true;
if (this.isGif) {
this.imageView.cancelLoadImage();
} else {
FileLoader.getInstance(ArticleViewer.this.currentAccount).cancelLoadFile(this.currentDocument);
}
this.buttonState = 0;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
invalidate();
return;
}
if (i != 2) {
if (i == 3) {
ArticleViewer.this.openPhoto(this.currentBlock, this.parentAdapter);
}
} else {
this.imageView.setAllowStartAnimation(true);
this.imageView.startAnimation();
this.buttonState = -1;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
}
}
@Override
public void onDetachedFromWindow() {
if (this.currentBlock != null) {
ArticleViewer articleViewer = ArticleViewer.this;
if (articleViewer.videoPlayer != null && articleViewer.currentPlayer == this) {
articleViewer.videoStates.put(this.currentBlock.video_id, setState(BlockVideoCellState.fromPlayer(ArticleViewer.this.videoPlayer, this)));
}
}
super.onDetachedFromWindow();
this.imageView.onDetachedFromWindow();
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
}
public BlockVideoCellState setState(BlockVideoCellState newState) {
Bitmap bitmap;
Bitmap bitmap2;
Bitmap bitmap3;
BlockVideoCellState blockVideoCellState = this.videoState;
if (blockVideoCellState != null && newState != null && (bitmap2 = newState.lastFrameBitmap) != null && (bitmap3 = blockVideoCellState.lastFrameBitmap) != null && bitmap2 != bitmap3) {
bitmap3.recycle();
this.videoState.lastFrameBitmap = null;
}
BlockVideoCellState blockVideoCellState2 = this.videoState;
if (blockVideoCellState2 != null && newState != null && newState.lastFrameBitmap == null && (bitmap = blockVideoCellState2.lastFrameBitmap) != null) {
newState.playFrom = blockVideoCellState2.playFrom;
newState.lastFrameBitmap = bitmap;
}
this.videoState = newState;
return newState;
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.imageView.onAttachedToWindow();
updateButtonState(false);
}
public final void startVideoPlayer() {
if (this.currentDocument != null) {
ArticleViewer articleViewer = ArticleViewer.this;
if (articleViewer.videoPlayer != null) {
return;
}
articleViewer.videoPlayer = new VideoPlayerHolderBase() {
public boolean needRepeat() {
return true;
}
public void onRenderedFirstFrame() {
super.onRenderedFirstFrame();
if (((VideoPlayerHolderBase) this).firstFrameRendered) {
return;
}
((VideoPlayerHolderBase) this).firstFrameRendered = true;
BlockVideoCell.this.textureView.setAlpha(1.0f);
if (BlockVideoCell.this.currentBlock != null) {
LongSparseArray longSparseArray = ArticleViewer.this.videoStates;
long j = BlockVideoCell.this.currentBlock.video_id;
BlockVideoCell blockVideoCell = BlockVideoCell.this;
longSparseArray.put(j, blockVideoCell.setState(BlockVideoCellState.fromPlayer(ArticleViewer.this.videoPlayer, blockVideoCell)));
}
}
}.with(this.textureView);
TLRPC.Document document = this.currentDocument;
for (int i = 0; i < document.attributes.size(); i++) {
if (document.attributes.get(i) instanceof TLRPC.TL_documentAttributeVideo) {
TLRPC.TL_documentAttributeVideo tL_documentAttributeVideo = (TLRPC.TL_documentAttributeVideo) document.attributes.get(i);
this.aspectRatioFrameLayout.setAspectRatio(((TLRPC.DocumentAttribute) tL_documentAttributeVideo).w / ((TLRPC.DocumentAttribute) tL_documentAttributeVideo).h, 0);
}
}
Uri prepareUri = FileStreamLoadOperation.prepareUri(ArticleViewer.this.currentAccount, document, this.parentAdapter.currentPage);
if (prepareUri == null) {
return;
}
VideoPlayerHolderBase videoPlayerHolderBase = ArticleViewer.this.videoPlayer;
BlockVideoCellState blockVideoCellState = this.videoState;
videoPlayerHolderBase.seekTo(blockVideoCellState == null ? 0L : blockVideoCellState.playFrom);
ArticleViewer.this.videoPlayer.preparePlayer(prepareUri, true, 1.0f);
ArticleViewer.this.videoPlayer.play();
}
}
public void onFailedDownload(String fileName, boolean canceled) {
updateButtonState(false);
}
public void onSuccessDownload(String fileName) {
this.radialProgress.setProgress(1.0f, true);
if (this.isGif) {
this.buttonState = 2;
didPressedButton(true);
} else {
updateButtonState(true);
}
}
public void onProgressDownload(String fileName, long downloadSize, long totalSize) {
this.radialProgress.setProgress(Math.min(1.0f, downloadSize / totalSize), true);
if (this.buttonState != 1) {
updateButtonState(true);
}
}
public int getObserverTag() {
return this.TAG;
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
StringBuilder sb = new StringBuilder(LocaleController.getString("AttachVideo", R.string.AttachVideo));
if (this.captionLayout != null) {
sb.append(", ");
sb.append(this.captionLayout.getText());
}
info.setText(sb.toString());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockAudioCell extends View implements DownloadController.FileDownloadProgressListener, TextSelectionHelper.ArticleSelectableView {
public int TAG;
public int buttonPressed;
public int buttonState;
public int buttonX;
public int buttonY;
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockAudio currentBlock;
public TLRPC.Document currentDocument;
public MessageObject currentMessageObject;
public StaticLayout durationLayout;
public boolean isFirst;
public String lastTimeString;
public WebpageAdapter parentAdapter;
public RadialProgress2 radialProgress;
public SeekBar seekBar;
public int seekBarX;
public int seekBarY;
public int textX;
public int textY;
public DrawingText titleLayout;
public void onProgressUpload(String fileName, long uploadedSize, long totalSize, boolean isEncrypted) {
}
public BlockAudioCell(Context context, WebpageAdapter adapter) {
super(context);
this.textY = AndroidUtilities.dp(58.0f);
this.parentAdapter = adapter;
RadialProgress2 radialProgress2 = new RadialProgress2(this);
this.radialProgress = radialProgress2;
radialProgress2.setCircleRadius(AndroidUtilities.dp(24.0f));
this.TAG = DownloadController.getInstance(ArticleViewer.this.currentAccount).generateObserverTag();
SeekBar seekBar = new SeekBar(this);
this.seekBar = seekBar;
seekBar.setDelegate(new SeekBar.SeekBarDelegate() {
public boolean isSeekBarDragAllowed() {
return SeekBar.SeekBarDelegate.-CC.$default$isSeekBarDragAllowed(this);
}
public void onSeekBarContinuousDrag(float f) {
SeekBar.SeekBarDelegate.-CC.$default$onSeekBarContinuousDrag(this, f);
}
public final void onSeekBarDrag(float f) {
ArticleViewer.BlockAudioCell.this.lambda$new$0(f);
}
public void onSeekBarPressed() {
SeekBar.SeekBarDelegate.-CC.$default$onSeekBarPressed(this);
}
public void onSeekBarReleased() {
SeekBar.SeekBarDelegate.-CC.$default$onSeekBarReleased(this);
}
public boolean reverseWaveform() {
return SeekBar.SeekBarDelegate.-CC.$default$reverseWaveform(this);
}
});
}
public void lambda$new$0(float f) {
MessageObject messageObject = this.currentMessageObject;
if (messageObject == null) {
return;
}
messageObject.audioProgress = f;
MediaController.getInstance().seekToProgress(this.currentMessageObject, f);
}
public void setBlock(TLRPC.TL_pageBlockAudio block, boolean first, boolean last) {
this.currentBlock = block;
MessageObject messageObject = (MessageObject) this.parentAdapter.audioBlocks.get(this.currentBlock);
this.currentMessageObject = messageObject;
if (messageObject != null) {
this.currentDocument = messageObject.getDocument();
}
this.isFirst = first;
SeekBar seekBar = this.seekBar;
int color = Theme.getColor(Theme.key_chat_inAudioSeekbar);
int color2 = Theme.getColor(Theme.key_chat_inAudioCacheSeekbar);
int i = Theme.key_chat_inAudioSeekbarFill;
seekBar.setColors(color, color2, Theme.getColor(i), Theme.getColor(i), Theme.getColor(Theme.key_chat_inAudioSeekbarSelected));
updateButtonState(false);
requestLayout();
}
public MessageObject getMessageObject() {
return this.currentMessageObject;
}
@Override
public boolean onTouchEvent(android.view.MotionEvent r13) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockAudioCell.onTouchEvent(android.view.MotionEvent):boolean");
}
@Override
@SuppressLint({"DrawAllocation", "NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
SpannableStringBuilder spannableStringBuilder;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
int dp = AndroidUtilities.dp(54.0f);
TLRPC.TL_pageBlockAudio tL_pageBlockAudio = this.currentBlock;
int i = 1;
if (tL_pageBlockAudio != null) {
if (((TLRPC.PageBlock) tL_pageBlockAudio).level > 0) {
this.textX = AndroidUtilities.dp(r0 * 14) + AndroidUtilities.dp(18.0f);
} else {
this.textX = AndroidUtilities.dp(18.0f);
}
int dp2 = (size - this.textX) - AndroidUtilities.dp(18.0f);
int dp3 = AndroidUtilities.dp(44.0f);
this.buttonX = AndroidUtilities.dp(16.0f);
int dp4 = AndroidUtilities.dp(5.0f);
this.buttonY = dp4;
RadialProgress2 radialProgress2 = this.radialProgress;
int i2 = this.buttonX;
radialProgress2.setProgressRect(i2, dp4, i2 + dp3, dp4 + dp3);
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockAudio tL_pageBlockAudio2 = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockAudio2.caption.text, dp2, this.textY, tL_pageBlockAudio2, this.parentAdapter);
this.captionLayout = createLayoutForText;
if (createLayoutForText != null) {
int dp5 = AndroidUtilities.dp(8.0f) + this.captionLayout.getHeight();
this.creditOffset = dp5;
dp += dp5 + AndroidUtilities.dp(8.0f);
}
int i3 = dp;
ArticleViewer articleViewer2 = ArticleViewer.this;
TLRPC.TL_pageBlockAudio tL_pageBlockAudio3 = this.currentBlock;
DrawingText createLayoutForText2 = articleViewer2.createLayoutForText(this, null, tL_pageBlockAudio3.caption.credit, dp2, this.textY + this.creditOffset, tL_pageBlockAudio3, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.creditLayout = createLayoutForText2;
if (createLayoutForText2 != null) {
i3 += AndroidUtilities.dp(4.0f) + this.creditLayout.getHeight();
}
if (!this.isFirst && ((TLRPC.PageBlock) this.currentBlock).level <= 0) {
i3 += AndroidUtilities.dp(8.0f);
}
String musicAuthor = this.currentMessageObject.getMusicAuthor(false);
String musicTitle = this.currentMessageObject.getMusicTitle(false);
int dp6 = this.buttonX + AndroidUtilities.dp(50.0f) + dp3;
this.seekBarX = dp6;
int dp7 = (size - dp6) - AndroidUtilities.dp(18.0f);
if (!TextUtils.isEmpty(musicTitle) || !TextUtils.isEmpty(musicAuthor)) {
if (!TextUtils.isEmpty(musicTitle) && !TextUtils.isEmpty(musicAuthor)) {
spannableStringBuilder = new SpannableStringBuilder(String.format("%s - %s", musicAuthor, musicTitle));
} else if (!TextUtils.isEmpty(musicTitle)) {
spannableStringBuilder = new SpannableStringBuilder(musicTitle);
} else {
spannableStringBuilder = new SpannableStringBuilder(musicAuthor);
}
if (!TextUtils.isEmpty(musicAuthor)) {
spannableStringBuilder.setSpan(new TypefaceSpan(AndroidUtilities.bold()), 0, musicAuthor.length(), 18);
}
CharSequence ellipsize = TextUtils.ellipsize(spannableStringBuilder, Theme.chat_audioTitlePaint, dp7, TextUtils.TruncateAt.END);
DrawingText drawingText = ArticleViewer.this.new DrawingText();
this.titleLayout = drawingText;
drawingText.textLayout = new StaticLayout(ellipsize, ArticleViewer.audioTimePaint, dp7, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
this.titleLayout.parentBlock = this.currentBlock;
this.seekBarY = this.buttonY + ((dp3 - AndroidUtilities.dp(30.0f)) / 2) + AndroidUtilities.dp(11.0f);
} else {
this.titleLayout = null;
this.seekBarY = this.buttonY + ((dp3 - AndroidUtilities.dp(30.0f)) / 2);
}
this.seekBar.setSize(dp7, AndroidUtilities.dp(30.0f));
i = i3;
}
setMeasuredDimension(size, i);
updatePlayingMessageProgress();
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
this.radialProgress.setColorKeys(Theme.key_chat_inLoader, Theme.key_chat_inLoaderSelected, Theme.key_chat_inMediaIcon, Theme.key_chat_inMediaIconSelected);
this.radialProgress.setProgressColor(Theme.getColor(Theme.key_chat_inFileProgress));
this.radialProgress.draw(canvas);
canvas.save();
canvas.translate(this.seekBarX, this.seekBarY);
this.seekBar.draw(canvas);
canvas.restore();
if (this.durationLayout != null) {
canvas.save();
canvas.translate(this.buttonX + AndroidUtilities.dp(54.0f), this.seekBarY + AndroidUtilities.dp(6.0f));
this.durationLayout.draw(canvas);
canvas.restore();
}
if (this.titleLayout != null) {
canvas.save();
this.titleLayout.x = this.buttonX + AndroidUtilities.dp(54.0f);
this.titleLayout.y = this.seekBarY - AndroidUtilities.dp(16.0f);
DrawingText drawingText = this.titleLayout;
canvas.translate(drawingText.x, drawingText.y);
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.titleLayout.draw(canvas, this);
canvas.restore();
i = 1;
} else {
i = 0;
}
if (this.captionLayout != null) {
canvas.save();
DrawingText drawingText2 = this.captionLayout;
int i2 = this.textX;
drawingText2.x = i2;
int i3 = this.textY;
drawingText2.y = i3;
canvas.translate(i2, i3);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.captionLayout.draw(canvas, this);
canvas.restore();
i++;
}
if (this.creditLayout != null) {
canvas.save();
DrawingText drawingText3 = this.creditLayout;
int i4 = this.textX;
drawingText3.x = i4;
drawingText3.y = this.textY + this.creditOffset;
canvas.translate(i4, r5 + r6);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
public final int getIconForCurrentState() {
int i = this.buttonState;
if (i == 1) {
return 1;
}
if (i == 2) {
return 2;
}
return i == 3 ? 3 : 0;
}
public void updatePlayingMessageProgress() {
if (this.currentDocument == null || this.currentMessageObject == null) {
return;
}
if (!this.seekBar.isDragging()) {
this.seekBar.setProgress(this.currentMessageObject.audioProgress);
}
int i = 0;
if (!MediaController.getInstance().isPlayingMessage(this.currentMessageObject)) {
int i2 = 0;
while (true) {
if (i2 >= this.currentDocument.attributes.size()) {
break;
}
TLRPC.DocumentAttribute documentAttribute = (TLRPC.DocumentAttribute) this.currentDocument.attributes.get(i2);
if (documentAttribute instanceof TLRPC.TL_documentAttributeAudio) {
i = (int) documentAttribute.duration;
break;
}
i2++;
}
} else {
i = this.currentMessageObject.audioProgressSec;
}
String formatShortDuration = AndroidUtilities.formatShortDuration(i);
String str = this.lastTimeString;
if (str == null || (str != null && !str.equals(formatShortDuration))) {
this.lastTimeString = formatShortDuration;
ArticleViewer.audioTimePaint.setTextSize(AndroidUtilities.dp(16.0f));
this.durationLayout = new StaticLayout(formatShortDuration, ArticleViewer.audioTimePaint, (int) Math.ceil(ArticleViewer.audioTimePaint.measureText(formatShortDuration)), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
}
ArticleViewer.audioTimePaint.setColor(ArticleViewer.this.getTextColor());
invalidate();
}
public void updateButtonState(boolean animated) {
String attachFileName = FileLoader.getAttachFileName(this.currentDocument);
boolean exists = FileLoader.getInstance(ArticleViewer.this.currentAccount).getPathToAttach(this.currentDocument, true).exists();
if (TextUtils.isEmpty(attachFileName)) {
this.radialProgress.setIcon(4, false, false);
return;
}
if (exists) {
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
boolean isPlayingMessage = MediaController.getInstance().isPlayingMessage(this.currentMessageObject);
if (!isPlayingMessage || (isPlayingMessage && MediaController.getInstance().isMessagePaused())) {
this.buttonState = 0;
} else {
this.buttonState = 1;
}
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
} else {
DownloadController.getInstance(ArticleViewer.this.currentAccount).addLoadingFileObserver(attachFileName, (MessageObject) null, this);
if (!FileLoader.getInstance(ArticleViewer.this.currentAccount).isLoadingFile(attachFileName)) {
this.buttonState = 2;
this.radialProgress.setProgress(0.0f, animated);
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
} else {
this.buttonState = 3;
Float fileProgress = ImageLoader.getInstance().getFileProgress(attachFileName);
if (fileProgress != null) {
this.radialProgress.setProgress(fileProgress.floatValue(), animated);
} else {
this.radialProgress.setProgress(0.0f, animated);
}
this.radialProgress.setIcon(getIconForCurrentState(), true, animated);
}
}
updatePlayingMessageProgress();
}
public final void didPressedButton(boolean animated) {
int i = this.buttonState;
if (i == 0) {
if (MediaController.getInstance().setPlaylist(this.parentAdapter.audioMessages, this.currentMessageObject, 0L, false, (MediaController.PlaylistGlobalSearchParams) null)) {
this.buttonState = 1;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
invalidate();
return;
}
return;
}
if (i == 1) {
if (MediaController.getInstance().pauseMessage(this.currentMessageObject)) {
this.buttonState = 0;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
invalidate();
return;
}
return;
}
if (i == 2) {
this.radialProgress.setProgress(0.0f, false);
FileLoader.getInstance(ArticleViewer.this.currentAccount).loadFile(this.currentDocument, this.parentAdapter.currentPage, 1, 1);
this.buttonState = 3;
this.radialProgress.setIcon(getIconForCurrentState(), true, animated);
invalidate();
return;
}
if (i == 3) {
FileLoader.getInstance(ArticleViewer.this.currentAccount).cancelLoadFile(this.currentDocument);
this.buttonState = 2;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
invalidate();
}
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
updateButtonState(false);
}
public void onFailedDownload(String fileName, boolean canceled) {
updateButtonState(true);
}
public void onSuccessDownload(String fileName) {
this.radialProgress.setProgress(1.0f, true);
updateButtonState(true);
}
public void onProgressDownload(String fileName, long downloadSize, long totalSize) {
this.radialProgress.setProgress(Math.min(1.0f, downloadSize / totalSize), true);
if (this.buttonState != 3) {
updateButtonState(true);
}
}
public int getObserverTag() {
return this.TAG;
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.titleLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.captionLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
DrawingText drawingText3 = this.creditLayout;
if (drawingText3 != null) {
blocks.add(drawingText3);
}
}
}
public class BlockEmbedPostCell extends View implements TextSelectionHelper.ArticleSelectableView {
public AvatarDrawable avatarDrawable;
public ImageReceiver avatarImageView;
public boolean avatarVisible;
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockEmbedPost currentBlock;
public DrawingText dateLayout;
public int lineHeight;
public DrawingText nameLayout;
public WebpageAdapter parentAdapter;
public int textX;
public int textY;
public BlockEmbedPostCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
ImageReceiver imageReceiver = new ImageReceiver(this);
this.avatarImageView = imageReceiver;
imageReceiver.setRoundRadius(AndroidUtilities.dp(20.0f));
this.avatarImageView.setImageCoords(AndroidUtilities.dp(32.0f), AndroidUtilities.dp(8.0f), AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
this.avatarDrawable = new AvatarDrawable();
}
public void setBlock(TLRPC.TL_pageBlockEmbedPost block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.captionLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.creditLayout, this.textX, this.textY + this.creditOffset) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost = this.currentBlock;
int i = 1;
if (tL_pageBlockEmbedPost != null) {
if (tL_pageBlockEmbedPost instanceof TL_pageBlockEmbedPostCaption) {
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(4.0f);
int dp = size - AndroidUtilities.dp(50.0f);
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost2 = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockEmbedPost2.caption.text, dp, this.textY, tL_pageBlockEmbedPost2, this.parentAdapter);
this.captionLayout = createLayoutForText;
if (createLayoutForText != null) {
int dp2 = AndroidUtilities.dp(4.0f) + this.captionLayout.getHeight();
this.creditOffset = dp2;
r13 = 0 + dp2 + AndroidUtilities.dp(4.0f);
}
ArticleViewer articleViewer2 = ArticleViewer.this;
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost3 = this.currentBlock;
DrawingText createLayoutForText2 = articleViewer2.createLayoutForText(this, null, tL_pageBlockEmbedPost3.caption.credit, dp, this.textY + this.creditOffset, tL_pageBlockEmbedPost3, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.creditLayout = createLayoutForText2;
if (createLayoutForText2 != null) {
r13 += AndroidUtilities.dp(4.0f) + this.creditLayout.getHeight();
}
i = r13;
} else {
long j = tL_pageBlockEmbedPost.author_photo_id;
boolean z = j != 0;
this.avatarVisible = z;
if (z) {
TLRPC.Photo photoWithId = this.parentAdapter.getPhotoWithId(j);
boolean z2 = photoWithId instanceof TLRPC.TL_photo;
this.avatarVisible = z2;
if (z2) {
this.avatarDrawable.setInfo(0L, this.currentBlock.author, (String) null);
this.avatarImageView.setImage(ImageLocation.getForPhoto(FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, AndroidUtilities.dp(40.0f), true), photoWithId), "40_40", this.avatarDrawable, 0L, (String) null, this.parentAdapter.currentPage, 1);
}
}
DrawingText createLayoutForText3 = ArticleViewer.this.createLayoutForText(this, this.currentBlock.author, null, size - AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 50), 0, this.currentBlock, Layout.Alignment.ALIGN_NORMAL, 1, this.parentAdapter);
this.nameLayout = createLayoutForText3;
if (createLayoutForText3 != null) {
createLayoutForText3.x = AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 32);
this.nameLayout.y = AndroidUtilities.dp(this.dateLayout != null ? 10.0f : 19.0f);
}
if (this.currentBlock.date != 0) {
this.dateLayout = ArticleViewer.this.createLayoutForText(this, LocaleController.getInstance().chatFullDate.format(this.currentBlock.date * 1000), null, size - AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 50), AndroidUtilities.dp(29.0f), this.currentBlock, this.parentAdapter);
} else {
this.dateLayout = null;
}
int dp3 = AndroidUtilities.dp(56.0f);
if (this.currentBlock.blocks.isEmpty()) {
this.textX = AndroidUtilities.dp(32.0f);
this.textY = AndroidUtilities.dp(56.0f);
int dp4 = size - AndroidUtilities.dp(50.0f);
ArticleViewer articleViewer3 = ArticleViewer.this;
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost4 = this.currentBlock;
DrawingText createLayoutForText4 = articleViewer3.createLayoutForText(this, null, tL_pageBlockEmbedPost4.caption.text, dp4, this.textY, tL_pageBlockEmbedPost4, this.parentAdapter);
this.captionLayout = createLayoutForText4;
if (createLayoutForText4 != null) {
int dp5 = AndroidUtilities.dp(4.0f) + this.captionLayout.getHeight();
this.creditOffset = dp5;
dp3 += dp5 + AndroidUtilities.dp(4.0f);
}
int i2 = dp3;
ArticleViewer articleViewer4 = ArticleViewer.this;
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost5 = this.currentBlock;
DrawingText createLayoutForText5 = articleViewer4.createLayoutForText(this, null, tL_pageBlockEmbedPost5.caption.credit, dp4, this.textY + this.creditOffset, tL_pageBlockEmbedPost5, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.creditLayout = createLayoutForText5;
if (createLayoutForText5 != null) {
i2 += AndroidUtilities.dp(4.0f) + this.creditLayout.getHeight();
}
dp3 = i2;
} else {
this.captionLayout = null;
this.creditLayout = null;
}
DrawingText drawingText = this.dateLayout;
if (drawingText != null) {
drawingText.x = AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 32);
this.dateLayout.y = AndroidUtilities.dp(29.0f);
}
DrawingText drawingText2 = this.captionLayout;
if (drawingText2 != null) {
drawingText2.x = this.textX;
drawingText2.y = this.textY;
}
DrawingText drawingText3 = this.creditLayout;
if (drawingText3 != null) {
drawingText3.x = this.textX;
drawingText3.y = this.textY;
}
i = dp3;
}
this.lineHeight = i;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
int i;
TLRPC.TL_pageBlockEmbedPost tL_pageBlockEmbedPost = this.currentBlock;
if (tL_pageBlockEmbedPost == null) {
return;
}
if (!(tL_pageBlockEmbedPost instanceof TL_pageBlockEmbedPostCaption)) {
if (this.avatarVisible) {
this.avatarImageView.draw(canvas);
}
if (this.nameLayout != null) {
canvas.save();
canvas.translate(AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 32), AndroidUtilities.dp(this.dateLayout != null ? 10.0f : 19.0f));
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.nameLayout.draw(canvas, this);
canvas.restore();
i = 1;
} else {
i = 0;
}
if (this.dateLayout != null) {
canvas.save();
canvas.translate(AndroidUtilities.dp((this.avatarVisible ? 54 : 0) + 32), AndroidUtilities.dp(29.0f));
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.dateLayout.draw(canvas, this);
canvas.restore();
i++;
}
canvas.drawRect(AndroidUtilities.dp(18.0f), AndroidUtilities.dp(6.0f), AndroidUtilities.dp(20.0f), this.lineHeight - (((TLRPC.PageBlock) this.currentBlock).level == 0 ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
r1 = i;
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this, r1);
this.captionLayout.draw(canvas, this);
canvas.restore();
r1++;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, r1);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.nameLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.dateLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
DrawingText drawingText3 = this.captionLayout;
if (drawingText3 != null) {
blocks.add(drawingText3);
}
DrawingText drawingText4 = this.creditLayout;
if (drawingText4 != null) {
blocks.add(drawingText4);
}
}
}
public class BlockParagraphCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockParagraph currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockParagraphCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockParagraph block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int dp;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockParagraph tL_pageBlockParagraph = this.currentBlock;
int i = 0;
if (tL_pageBlockParagraph != null) {
if (((TLRPC.PageBlock) tL_pageBlockParagraph).level == 0) {
this.textY = AndroidUtilities.dp(8.0f);
this.textX = AndroidUtilities.dp(18.0f);
} else {
this.textY = 0;
this.textX = AndroidUtilities.dp((r15 * 14) + 18);
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, this.currentBlock.text, (size - AndroidUtilities.dp(18.0f)) - this.textX, this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, 0, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
int height = createLayoutForText.getHeight();
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
dp = AndroidUtilities.dp(8.0f);
} else {
dp = AndroidUtilities.dp(16.0f);
}
i = height + dp;
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
DrawingText drawingText = this.textLayout;
if (drawingText == null) {
return;
}
info.setText(drawingText.getText());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockEmbedCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockEmbed currentBlock;
public int exactWebViewHeight;
public int listX;
public WebpageAdapter parentAdapter;
public int textX;
public int textY;
public WebPlayerView videoView;
public boolean wasUserInteraction;
public TouchyWebView webView;
public class TelegramWebviewProxy {
public TelegramWebviewProxy() {
}
@JavascriptInterface
public void postEvent(final String eventName, final String eventData) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.BlockEmbedCell.TelegramWebviewProxy.this.lambda$postEvent$0(eventName, eventData);
}
});
}
public void lambda$postEvent$0(String str, String str2) {
if ("resize_frame".equals(str)) {
try {
JSONObject jSONObject = new JSONObject(str2);
BlockEmbedCell.this.exactWebViewHeight = Utilities.parseInt(jSONObject.getString("height")).intValue();
BlockEmbedCell.this.requestLayout();
} catch (Throwable unused) {
}
}
}
}
public class TouchyWebView extends WebView {
public TouchyWebView(Context context) {
super(context);
setFocusable(false);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
BlockEmbedCell.this.wasUserInteraction = true;
if (BlockEmbedCell.this.currentBlock != null) {
if (BlockEmbedCell.this.currentBlock.allow_scrolling) {
requestDisallowInterceptTouchEvent(true);
} else {
ArticleViewer.this.windowView.requestDisallowInterceptTouchEvent(true);
}
}
return super.onTouchEvent(event);
}
}
@SuppressLint({"SetJavaScriptEnabled", "AddJavascriptInterface"})
public BlockEmbedCell(final Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
WebPlayerView webPlayerView = new WebPlayerView(context, false, false, new WebPlayerView.WebPlayerViewDelegate(ArticleViewer.this) {
public boolean checkInlinePermissions() {
return false;
}
public ViewGroup getTextureViewContainer() {
return null;
}
public void onInlineSurfaceTextureReady() {
}
public TextureView onSwitchInlineMode(View controlsView, boolean inline, int videoWidth, int videoHeight, int rotation, boolean animated) {
return null;
}
public void prepareToSwitchInlineMode(boolean inline, Runnable switchInlineModeRunnable, float aspectRatio, boolean animated) {
}
public void onInitFailed() {
BlockEmbedCell.this.webView.setVisibility(0);
BlockEmbedCell.this.videoView.setVisibility(4);
BlockEmbedCell.this.videoView.loadVideo((String) null, (TLRPC.Photo) null, (Object) null, (String) null, false);
HashMap hashMap = new HashMap();
hashMap.put("Referer", ApplicationLoader.applicationContext.getPackageName());
BlockEmbedCell.this.webView.loadUrl(BlockEmbedCell.this.currentBlock.url, hashMap);
}
public void onVideoSizeChanged(float aspectRatio, int rotation) {
ArticleViewer.this.fullscreenAspectRatioView.setAspectRatio(aspectRatio, rotation);
}
public TextureView onSwitchToFullscreen(View controlsView, boolean fullscreen, float aspectRatio, int rotation, boolean byButton) {
if (fullscreen) {
ArticleViewer.this.fullscreenAspectRatioView.addView(ArticleViewer.this.fullscreenTextureView, LayoutHelper.createFrame(-1, -1.0f));
ArticleViewer.this.fullscreenAspectRatioView.setVisibility(0);
ArticleViewer.this.fullscreenAspectRatioView.setAspectRatio(aspectRatio, rotation);
BlockEmbedCell blockEmbedCell = BlockEmbedCell.this;
ArticleViewer.this.fullscreenedVideo = blockEmbedCell.videoView;
ArticleViewer.this.fullscreenVideoContainer.addView(controlsView, LayoutHelper.createFrame(-1, -1.0f));
ArticleViewer.this.fullscreenVideoContainer.setVisibility(0);
} else {
ArticleViewer.this.fullscreenAspectRatioView.removeView(ArticleViewer.this.fullscreenTextureView);
ArticleViewer.this.fullscreenedVideo = null;
ArticleViewer.this.fullscreenAspectRatioView.setVisibility(8);
ArticleViewer.this.fullscreenVideoContainer.setVisibility(4);
}
return ArticleViewer.this.fullscreenTextureView;
}
public void onSharePressed() {
if (ArticleViewer.this.parentActivity == null) {
return;
}
ArticleViewer.this.showDialog(new ShareAlert(ArticleViewer.this.parentActivity, (ArrayList) null, BlockEmbedCell.this.currentBlock.url, false, BlockEmbedCell.this.currentBlock.url, false));
}
public void onPlayStateChanged(WebPlayerView playerView, boolean playing) {
if (playing) {
if (ArticleViewer.this.currentPlayingVideo != null && ArticleViewer.this.currentPlayingVideo != playerView) {
ArticleViewer.this.currentPlayingVideo.pause();
}
ArticleViewer.this.currentPlayingVideo = playerView;
try {
ArticleViewer.this.parentActivity.getWindow().addFlags(128);
return;
} catch (Exception e) {
FileLog.e(e);
return;
}
}
if (ArticleViewer.this.currentPlayingVideo == playerView) {
ArticleViewer.this.currentPlayingVideo = null;
}
try {
ArticleViewer.this.parentActivity.getWindow().clearFlags(128);
} catch (Exception e2) {
FileLog.e(e2);
}
}
});
this.videoView = webPlayerView;
addView(webPlayerView);
ArticleViewer.this.createdWebViews.add(this);
TouchyWebView touchyWebView = new TouchyWebView(context);
this.webView = touchyWebView;
touchyWebView.getSettings().setJavaScriptEnabled(true);
this.webView.getSettings().setDomStorageEnabled(true);
this.webView.getSettings().setAllowContentAccess(true);
int i = Build.VERSION.SDK_INT;
if (i >= 17) {
this.webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
this.webView.addJavascriptInterface(new TelegramWebviewProxy(), "TelegramWebviewProxy");
}
if (i >= 21) {
this.webView.getSettings().setMixedContentMode(0);
CookieManager.getInstance().setAcceptThirdPartyCookies(this.webView, true);
}
this.webView.setWebChromeClient(new AnonymousClass2(ArticleViewer.this));
this.webView.setWebViewClient(new AnonymousClass3(ArticleViewer.this));
addView(this.webView);
}
public class AnonymousClass2 extends WebChromeClient {
public AnonymousClass2(final ArticleViewer val$this$0) {
}
@Override
public void onShowCustomView(View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback) {
onShowCustomView(view, callback);
}
@Override
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) {
if (ArticleViewer.this.customView != null) {
callback.onCustomViewHidden();
return;
}
ArticleViewer.this.customView = view;
ArticleViewer.this.customViewCallback = callback;
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ArticleViewer.BlockEmbedCell.AnonymousClass2.this.lambda$onShowCustomView$0();
}
}, 100L);
}
public void lambda$onShowCustomView$0() {
if (ArticleViewer.this.customView != null) {
ArticleViewer.this.fullscreenVideoContainer.addView(ArticleViewer.this.customView, LayoutHelper.createFrame(-1, -1.0f));
ArticleViewer.this.fullscreenVideoContainer.setVisibility(0);
}
}
@Override
public void onHideCustomView() {
super.onHideCustomView();
if (ArticleViewer.this.customView == null) {
return;
}
ArticleViewer.this.fullscreenVideoContainer.setVisibility(4);
ArticleViewer.this.fullscreenVideoContainer.removeView(ArticleViewer.this.customView);
if (ArticleViewer.this.customViewCallback != null && !ArticleViewer.this.customViewCallback.getClass().getName().contains(".chromium.")) {
ArticleViewer.this.customViewCallback.onCustomViewHidden();
}
ArticleViewer.this.customView = null;
}
}
public class AnonymousClass3 extends WebViewClient {
public AnonymousClass3(final ArticleViewer val$this$0) {
}
@Override
public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail) {
FragmentActivity fragmentActivity = LaunchActivity.instance;
if (fragmentActivity != null && fragmentActivity.isFinishing()) {
return true;
}
new AlertDialog.Builder(BlockEmbedCell.this.getContext(), null).setTitle(LocaleController.getString(R.string.ChromeCrashTitle)).setMessage(AndroidUtilities.replaceSingleTag(LocaleController.getString(R.string.ChromeCrashMessage), new Runnable() {
@Override
public final void run() {
ArticleViewer.BlockEmbedCell.AnonymousClass3.this.lambda$onRenderProcessGone$0();
}
})).setPositiveButton(LocaleController.getString(R.string.OK), null).show();
return true;
}
public void lambda$onRenderProcessGone$0() {
Browser.openUrl(BlockEmbedCell.this.getContext(), "https://play.google.com/store/apps/details?id=com.google.android.webview");
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!BlockEmbedCell.this.wasUserInteraction) {
return false;
}
Browser.openUrl(ArticleViewer.this.parentActivity, url);
return true;
}
}
public void destroyWebView(boolean completely) {
try {
this.webView.stopLoading();
this.webView.loadUrl("about:blank");
if (completely) {
this.webView.destroy();
}
this.currentBlock = null;
} catch (Exception e) {
FileLog.e(e);
}
this.videoView.destroy();
}
public void setBlock(TLRPC.TL_pageBlockEmbed block) {
TLRPC.TL_pageBlockEmbed tL_pageBlockEmbed = this.currentBlock;
this.currentBlock = block;
this.webView.setBackgroundColor(Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
TLRPC.TL_pageBlockEmbed tL_pageBlockEmbed2 = this.currentBlock;
if (tL_pageBlockEmbed != tL_pageBlockEmbed2) {
this.wasUserInteraction = false;
if (tL_pageBlockEmbed2.allow_scrolling) {
this.webView.setVerticalScrollBarEnabled(true);
this.webView.setHorizontalScrollBarEnabled(true);
} else {
this.webView.setVerticalScrollBarEnabled(false);
this.webView.setHorizontalScrollBarEnabled(false);
}
this.exactWebViewHeight = 0;
try {
this.webView.loadUrl("about:blank");
} catch (Exception e) {
FileLog.e(e);
}
try {
TLRPC.TL_pageBlockEmbed tL_pageBlockEmbed3 = this.currentBlock;
String str = tL_pageBlockEmbed3.html;
if (str != null) {
this.webView.loadDataWithBaseURL("https://telegram.org/embed", str, "text/html", "UTF-8", null);
this.videoView.setVisibility(4);
this.videoView.loadVideo((String) null, (TLRPC.Photo) null, (Object) null, (String) null, false);
this.webView.setVisibility(0);
} else {
long j = tL_pageBlockEmbed3.poster_photo_id;
if (this.videoView.loadVideo(block.url, j != 0 ? this.parentAdapter.getPhotoWithId(j) : null, this.parentAdapter.currentPage, (String) null, false)) {
this.webView.setVisibility(4);
this.videoView.setVisibility(0);
this.webView.stopLoading();
this.webView.loadUrl("about:blank");
} else {
this.webView.setVisibility(0);
this.videoView.setVisibility(4);
this.videoView.loadVideo((String) null, (TLRPC.Photo) null, (Object) null, (String) null, false);
HashMap hashMap = new HashMap();
hashMap.put("Referer", ApplicationLoader.applicationContext.getPackageName());
this.webView.loadUrl(this.currentBlock.url, hashMap);
}
}
} catch (Exception e2) {
FileLog.e(e2);
}
}
requestLayout();
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
if (ArticleViewer.this.isVisible) {
return;
}
this.currentBlock = null;
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.captionLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.creditLayout, this.textX, this.textY + this.creditOffset) || super.onTouchEvent(event);
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r13, int r14) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockEmbedCell.onMeasure(int, int):void");
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
TouchyWebView touchyWebView = this.webView;
int i = this.listX;
touchyWebView.layout(i, 0, touchyWebView.getMeasuredWidth() + i, this.webView.getMeasuredHeight());
if (this.videoView.getParent() == this) {
WebPlayerView webPlayerView = this.videoView;
int i2 = this.listX;
webPlayerView.layout(i2, 0, webPlayerView.getMeasuredWidth() + i2, this.videoView.getMeasuredHeight());
}
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockTableCell extends FrameLayout implements TableLayout.TableLayoutDelegate, TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockTable currentBlock;
public boolean firstLayout;
public int listX;
public int listY;
public WebpageAdapter parentAdapter;
public HorizontalScrollView scrollView;
public TableLayout tableLayout;
public int textX;
public int textY;
public DrawingText titleLayout;
public BlockTableCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
HorizontalScrollView horizontalScrollView = new HorizontalScrollView(context, ArticleViewer.this) {
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
boolean onInterceptTouchEvent = super.onInterceptTouchEvent(ev);
if (BlockTableCell.this.tableLayout.getMeasuredWidth() > getMeasuredWidth() - AndroidUtilities.dp(36.0f) && onInterceptTouchEvent) {
ArticleViewer.this.windowView.requestDisallowInterceptTouchEvent(true);
}
return onInterceptTouchEvent;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (BlockTableCell.this.tableLayout.getMeasuredWidth() <= getMeasuredWidth() - AndroidUtilities.dp(36.0f)) {
return false;
}
return super.onTouchEvent(ev);
}
@Override
public void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (ArticleViewer.this.pressedLinkOwnerLayout != null) {
ArticleViewer.this.pressedLinkOwnerLayout = null;
ArticleViewer.this.pressedLinkOwnerView = null;
}
BlockTableCell.this.updateChildTextPositions();
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = ArticleViewer.this.textSelectionHelper;
if (articleTextSelectionHelper == null || !articleTextSelectionHelper.isInSelectionMode()) {
return;
}
ArticleViewer.this.textSelectionHelper.invalidate();
}
@Override
public boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
ArticleViewer.this.removePressedLink();
return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
BlockTableCell.this.tableLayout.measure(View.MeasureSpec.makeMeasureSpec((View.MeasureSpec.getSize(widthMeasureSpec) - getPaddingLeft()) - getPaddingRight(), 0), heightMeasureSpec);
setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), BlockTableCell.this.tableLayout.getMeasuredHeight());
}
};
this.scrollView = horizontalScrollView;
horizontalScrollView.setPadding(AndroidUtilities.dp(18.0f), 0, AndroidUtilities.dp(18.0f), 0);
this.scrollView.setClipToPadding(false);
addView(this.scrollView, LayoutHelper.createFrame(-1, -2.0f));
TableLayout tableLayout = new TableLayout(context, this, ArticleViewer.this.textSelectionHelper);
this.tableLayout = tableLayout;
tableLayout.setOrientation(0);
this.tableLayout.setRowOrderPreserved(true);
this.scrollView.addView((View) this.tableLayout, (ViewGroup.LayoutParams) new FrameLayout.LayoutParams(-2, -2));
setWillNotDraw(false);
}
public DrawingText createTextLayout(TLRPC.TL_pageTableCell cell, int maxWidth) {
Layout.Alignment alignment;
if (cell == null) {
return null;
}
if (cell.align_right) {
alignment = Layout.Alignment.ALIGN_OPPOSITE;
} else if (cell.align_center) {
alignment = Layout.Alignment.ALIGN_CENTER;
} else {
alignment = Layout.Alignment.ALIGN_NORMAL;
}
return ArticleViewer.this.createLayoutForText(this, null, cell.text, maxWidth, -1, this.currentBlock, alignment, 0, this.parentAdapter);
}
public Paint getLinePaint() {
return ArticleViewer.tableLinePaint;
}
public Paint getHalfLinePaint() {
return ArticleViewer.tableHalfLinePaint;
}
public Paint getHeaderPaint() {
return ArticleViewer.tableHeaderPaint;
}
public Paint getStripPaint() {
return ArticleViewer.tableStripPaint;
}
public void onLayoutChild(DrawingText text, int x, int y) {
if (text == null || ArticleViewer.this.searchResults.isEmpty() || ArticleViewer.this.searchText == null) {
return;
}
String lowerCase = text.textLayout.getText().toString().toLowerCase();
int i = 0;
while (true) {
int indexOf = lowerCase.indexOf(ArticleViewer.this.searchText, i);
if (indexOf < 0) {
return;
}
int length = ArticleViewer.this.searchText.length() + indexOf;
if (indexOf == 0 || AndroidUtilities.isPunctuationCharacter(lowerCase.charAt(indexOf - 1))) {
HashMap hashMap = ArticleViewer.this.adapter[0].searchTextOffset;
String str = ArticleViewer.this.searchText + this.currentBlock + text.parentText + indexOf;
StaticLayout staticLayout = text.textLayout;
hashMap.put(str, Integer.valueOf(staticLayout.getLineTop(staticLayout.getLineForOffset(indexOf)) + y));
}
i = length;
}
}
public void setBlock(TLRPC.TL_pageBlockTable block) {
int i;
this.currentBlock = block;
AndroidUtilities.setScrollViewEdgeEffectColor(this.scrollView, Theme.usePlusTheme ? Theme.prefBGColor : Theme.getColor(Theme.key_windowBackgroundWhite));
this.tableLayout.removeAllChildrens();
this.tableLayout.setDrawLines(this.currentBlock.bordered);
this.tableLayout.setStriped(this.currentBlock.striped);
this.tableLayout.setRtl(this.parentAdapter.isRtl);
if (this.currentBlock.rows.isEmpty()) {
i = 0;
} else {
TLRPC.TL_pageTableRow tL_pageTableRow = (TLRPC.TL_pageTableRow) this.currentBlock.rows.get(0);
int size = tL_pageTableRow.cells.size();
i = 0;
for (int i2 = 0; i2 < size; i2++) {
int i3 = ((TLRPC.TL_pageTableCell) tL_pageTableRow.cells.get(i2)).colspan;
if (i3 == 0) {
i3 = 1;
}
i += i3;
}
}
int size2 = this.currentBlock.rows.size();
for (int i4 = 0; i4 < size2; i4++) {
TLRPC.TL_pageTableRow tL_pageTableRow2 = (TLRPC.TL_pageTableRow) this.currentBlock.rows.get(i4);
int size3 = tL_pageTableRow2.cells.size();
int i5 = 0;
for (int i6 = 0; i6 < size3; i6++) {
TLRPC.TL_pageTableCell tL_pageTableCell = (TLRPC.TL_pageTableCell) tL_pageTableRow2.cells.get(i6);
int i7 = tL_pageTableCell.colspan;
if (i7 == 0) {
i7 = 1;
}
int i8 = tL_pageTableCell.rowspan;
if (i8 == 0) {
i8 = 1;
}
if (tL_pageTableCell.text != null) {
this.tableLayout.addChild(tL_pageTableCell, i5, i4, i7);
} else {
this.tableLayout.addChild(i5, i4, i7, i8);
}
i5 += i7;
}
}
this.tableLayout.setColumnCount(i);
this.firstLayout = true;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int childCount = this.tableLayout.getChildCount();
for (int i = 0; i < childCount; i++) {
TableLayout.Child childAt = this.tableLayout.getChildAt(i);
if (ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, childAt.textLayout, (this.scrollView.getPaddingLeft() - this.scrollView.getScrollX()) + this.listX + childAt.getTextX(), this.listY + childAt.getTextY())) {
return true;
}
}
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.titleLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
public void invalidate() {
super.invalidate();
this.tableLayout.invalidate();
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int dp;
int i2;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockTable tL_pageBlockTable = this.currentBlock;
if (tL_pageBlockTable != null) {
if (((TLRPC.PageBlock) tL_pageBlockTable).level > 0) {
int dp2 = AndroidUtilities.dp(r14 * 14);
this.listX = dp2;
dp = dp2 + AndroidUtilities.dp(18.0f);
this.textX = dp;
} else {
this.listX = 0;
this.textX = AndroidUtilities.dp(18.0f);
dp = AndroidUtilities.dp(36.0f);
}
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockTable tL_pageBlockTable2 = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockTable2.title, size - dp, 0, tL_pageBlockTable2, Layout.Alignment.ALIGN_CENTER, 0, this.parentAdapter);
this.titleLayout = createLayoutForText;
if (createLayoutForText != null) {
this.textY = 0;
i2 = createLayoutForText.getHeight() + AndroidUtilities.dp(8.0f) + 0;
this.listY = i2;
DrawingText drawingText = this.titleLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
} else {
this.listY = AndroidUtilities.dp(8.0f);
i2 = 0;
}
this.scrollView.measure(View.MeasureSpec.makeMeasureSpec(size - this.listX, 1073741824), View.MeasureSpec.makeMeasureSpec(0, 0));
i = i2 + this.scrollView.getMeasuredHeight() + AndroidUtilities.dp(8.0f);
TLRPC.TL_pageBlockTable tL_pageBlockTable3 = this.currentBlock;
if (((TLRPC.PageBlock) tL_pageBlockTable3).level > 0 && !((TLRPC.PageBlock) tL_pageBlockTable3).bottom) {
i += AndroidUtilities.dp(8.0f);
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
updateChildTextPositions();
}
public final void updateChildTextPositions() {
int i = this.titleLayout == null ? 0 : 1;
int childCount = this.tableLayout.getChildCount();
for (int i2 = 0; i2 < childCount; i2++) {
TableLayout.Child childAt = this.tableLayout.getChildAt(i2);
DrawingText drawingText = childAt.textLayout;
if (drawingText != null) {
drawingText.x = ((childAt.getTextX() + this.listX) + AndroidUtilities.dp(18.0f)) - this.scrollView.getScrollX();
childAt.textLayout.y = childAt.getTextY() + this.listY;
childAt.textLayout.row = childAt.getRow();
childAt.setSelectionIndex(i);
i++;
}
}
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
HorizontalScrollView horizontalScrollView = this.scrollView;
int i = this.listX;
horizontalScrollView.layout(i, this.listY, horizontalScrollView.getMeasuredWidth() + i, this.listY + this.scrollView.getMeasuredHeight());
if (this.firstLayout) {
if (this.parentAdapter.isRtl) {
this.scrollView.setScrollX((this.tableLayout.getMeasuredWidth() - this.scrollView.getMeasuredWidth()) + AndroidUtilities.dp(36.0f));
} else {
this.scrollView.setScrollX(0);
}
this.firstLayout = false;
}
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
if (this.titleLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.titleLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.titleLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
int childCount = this.tableLayout.getChildCount();
for (int i = 0; i < childCount; i++) {
DrawingText drawingText2 = this.tableLayout.getChildAt(i).textLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
}
public class BlockCollageCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockCollage currentBlock;
public GroupedMessages group;
public boolean inLayout;
public RecyclerView.Adapter innerAdapter;
public RecyclerListView innerListView;
public int listX;
public WebpageAdapter parentAdapter;
public int textX;
public int textY;
public class GroupedMessages {
public ArrayList<MessageObject.GroupedMessagePosition> posArray = new ArrayList<>();
public HashMap<TLObject, MessageObject.GroupedMessagePosition> positions = new HashMap<>();
public int maxSizeWidth = 1000;
public GroupedMessages() {
}
public class MessageGroupedLayoutAttempt {
public float[] heights;
public int[] lineCounts;
public MessageGroupedLayoutAttempt(final GroupedMessages this$2, int i1, int i2, float f1, float f2) {
this.lineCounts = new int[]{i1, i2};
this.heights = new float[]{f1, f2};
}
public MessageGroupedLayoutAttempt(final GroupedMessages this$2, int i1, int i2, int i3, float f1, float f2, float f3) {
this.lineCounts = new int[]{i1, i2, i3};
this.heights = new float[]{f1, f2, f3};
}
public MessageGroupedLayoutAttempt(final GroupedMessages this$2, int i1, int i2, int i3, int i4, float f1, float f2, float f3, float f4) {
this.lineCounts = new int[]{i1, i2, i3, i4};
this.heights = new float[]{f1, f2, f3, f4};
}
}
public final float multiHeight(float[] array, int start, int end) {
float f = 0.0f;
while (start < end) {
f += array[start];
start++;
}
return this.maxSizeWidth / f;
}
public void calculate() {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockCollageCell.GroupedMessages.calculate():void");
}
}
public BlockCollageCell(Context context, WebpageAdapter adapter) {
super(context);
this.group = new GroupedMessages();
this.parentAdapter = adapter;
RecyclerListView recyclerListView = new RecyclerListView(context, ArticleViewer.this) {
public void requestLayout() {
if (BlockCollageCell.this.inLayout) {
return;
}
super.requestLayout();
}
};
this.innerListView = recyclerListView;
recyclerListView.addItemDecoration(new RecyclerView.ItemDecoration(ArticleViewer.this) {
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
MessageObject.GroupedMessagePosition groupedMessagePosition;
int i = 0;
outRect.bottom = 0;
if (view instanceof BlockPhotoCell) {
groupedMessagePosition = BlockCollageCell.this.group.positions.get(((BlockPhotoCell) view).currentBlock);
} else {
groupedMessagePosition = view instanceof BlockVideoCell ? BlockCollageCell.this.group.positions.get(((BlockVideoCell) view).currentBlock) : null;
}
if (groupedMessagePosition == null || groupedMessagePosition.siblingHeights == null) {
return;
}
Point point = AndroidUtilities.displaySize;
float max = Math.max(point.x, point.y) * 0.5f;
int i2 = 0;
int i3 = 0;
while (true) {
if (i2 >= groupedMessagePosition.siblingHeights.length) {
break;
}
i3 += (int) Math.ceil(r2[i2] * max);
i2++;
}
int dp2 = i3 + ((groupedMessagePosition.maxY - groupedMessagePosition.minY) * AndroidUtilities.dp2(11.0f));
int size = BlockCollageCell.this.group.posArray.size();
while (true) {
if (i < size) {
MessageObject.GroupedMessagePosition groupedMessagePosition2 = BlockCollageCell.this.group.posArray.get(i);
byte b = groupedMessagePosition2.minY;
byte b2 = groupedMessagePosition.minY;
if (b == b2 && ((groupedMessagePosition2.minX != groupedMessagePosition.minX || groupedMessagePosition2.maxX != groupedMessagePosition.maxX || b != b2 || groupedMessagePosition2.maxY != groupedMessagePosition.maxY) && b == b2)) {
dp2 -= ((int) Math.ceil(max * groupedMessagePosition2.ph)) - AndroidUtilities.dp(4.0f);
break;
}
i++;
} else {
break;
}
}
outRect.bottom = -dp2;
}
});
GridLayoutManagerFixed gridLayoutManagerFixed = new GridLayoutManagerFixed(context, 1000, 1, true, ArticleViewer.this) {
public boolean shouldLayoutChildFromOpositeSide(View child) {
return false;
}
public boolean supportsPredictiveItemAnimations() {
return false;
}
public boolean hasSiblingChild(int position) {
byte b;
MessageObject.GroupedMessagePosition groupedMessagePosition = BlockCollageCell.this.group.positions.get((TLObject) BlockCollageCell.this.currentBlock.items.get((BlockCollageCell.this.currentBlock.items.size() - position) - 1));
if (groupedMessagePosition.minX != groupedMessagePosition.maxX && (b = groupedMessagePosition.minY) == groupedMessagePosition.maxY && b != 0) {
int size = BlockCollageCell.this.group.posArray.size();
for (int i = 0; i < size; i++) {
MessageObject.GroupedMessagePosition groupedMessagePosition2 = BlockCollageCell.this.group.posArray.get(i);
if (groupedMessagePosition2 != groupedMessagePosition) {
byte b2 = groupedMessagePosition2.minY;
byte b3 = groupedMessagePosition.minY;
if (b2 <= b3 && groupedMessagePosition2.maxY >= b3) {
return true;
}
}
}
}
return false;
}
};
gridLayoutManagerFixed.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup(ArticleViewer.this) {
public int getSpanSize(int position) {
return BlockCollageCell.this.group.positions.get((TLObject) BlockCollageCell.this.currentBlock.items.get((BlockCollageCell.this.currentBlock.items.size() - position) - 1)).spanSize;
}
});
this.innerListView.setLayoutManager(gridLayoutManagerFixed);
RecyclerListView recyclerListView2 = this.innerListView;
RecyclerView.Adapter adapter2 = new RecyclerView.Adapter(ArticleViewer.this) {
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View blockPhotoCell;
if (viewType == 0) {
BlockCollageCell blockCollageCell = BlockCollageCell.this;
blockPhotoCell = ArticleViewer.this.new BlockPhotoCell(blockCollageCell.getContext(), BlockCollageCell.this.parentAdapter, 2);
} else {
BlockCollageCell blockCollageCell2 = BlockCollageCell.this;
blockPhotoCell = ArticleViewer.this.new BlockVideoCell(blockCollageCell2.getContext(), BlockCollageCell.this.parentAdapter, 2);
}
return new RecyclerListView.Holder(blockPhotoCell);
}
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
TLRPC.TL_pageBlockVideo tL_pageBlockVideo = (TLRPC.PageBlock) BlockCollageCell.this.currentBlock.items.get((BlockCollageCell.this.currentBlock.items.size() - position) - 1);
if (holder.getItemViewType() == 0) {
BlockPhotoCell blockPhotoCell = (BlockPhotoCell) holder.itemView;
blockPhotoCell.groupPosition = BlockCollageCell.this.group.positions.get(tL_pageBlockVideo);
blockPhotoCell.setBlock((TLRPC.TL_pageBlockPhoto) tL_pageBlockVideo, true, true);
} else {
BlockVideoCell blockVideoCell = (BlockVideoCell) holder.itemView;
blockVideoCell.groupPosition = BlockCollageCell.this.group.positions.get(tL_pageBlockVideo);
TLRPC.TL_pageBlockVideo tL_pageBlockVideo2 = tL_pageBlockVideo;
blockVideoCell.setBlock(tL_pageBlockVideo2, (BlockVideoCellState) ArticleViewer.this.videoStates.get(tL_pageBlockVideo2.video_id), true, true);
}
}
public int getItemCount() {
if (BlockCollageCell.this.currentBlock == null) {
return 0;
}
return BlockCollageCell.this.currentBlock.items.size();
}
public int getItemViewType(int position) {
return ((TLRPC.PageBlock) BlockCollageCell.this.currentBlock.items.get((BlockCollageCell.this.currentBlock.items.size() - position) - 1)) instanceof TLRPC.TL_pageBlockPhoto ? 0 : 1;
}
};
this.innerAdapter = adapter2;
recyclerListView2.setAdapter(adapter2);
addView((View) this.innerListView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -2.0f));
setWillNotDraw(false);
}
public void setBlock(TLRPC.TL_pageBlockCollage block) {
if (this.currentBlock != block) {
this.currentBlock = block;
this.group.calculate();
}
this.innerAdapter.notifyDataSetChanged();
this.innerListView.setGlowColor(Theme.getColor(Theme.key_windowBackgroundWhite));
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.captionLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.creditLayout, this.textX, this.textY + this.creditOffset) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int dp;
int i;
int i2 = 1;
this.inLayout = true;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockCollage tL_pageBlockCollage = this.currentBlock;
if (tL_pageBlockCollage != null) {
if (((TLRPC.PageBlock) tL_pageBlockCollage).level > 0) {
int dp2 = AndroidUtilities.dp(r15 * 14) + AndroidUtilities.dp(18.0f);
this.listX = dp2;
this.textX = dp2;
i = size - (dp2 + AndroidUtilities.dp(18.0f));
dp = i;
} else {
this.listX = 0;
this.textX = AndroidUtilities.dp(18.0f);
dp = size - AndroidUtilities.dp(36.0f);
i = size;
}
this.innerListView.measure(View.MeasureSpec.makeMeasureSpec(i, 1073741824), View.MeasureSpec.makeMeasureSpec(0, 0));
int measuredHeight = this.innerListView.getMeasuredHeight();
int dp3 = measuredHeight + AndroidUtilities.dp(8.0f);
this.textY = dp3;
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockCollage tL_pageBlockCollage2 = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockCollage2.caption.text, dp, dp3, tL_pageBlockCollage2, this.parentAdapter);
this.captionLayout = createLayoutForText;
if (createLayoutForText != null) {
int dp4 = AndroidUtilities.dp(4.0f) + this.captionLayout.getHeight();
this.creditOffset = dp4;
measuredHeight += dp4 + AndroidUtilities.dp(4.0f);
DrawingText drawingText = this.captionLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
} else {
this.creditOffset = 0;
}
ArticleViewer articleViewer2 = ArticleViewer.this;
TLRPC.TL_pageBlockCollage tL_pageBlockCollage3 = this.currentBlock;
DrawingText createLayoutForText2 = articleViewer2.createLayoutForText(this, null, tL_pageBlockCollage3.caption.credit, dp, this.textY + this.creditOffset, tL_pageBlockCollage3, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.creditLayout = createLayoutForText2;
if (createLayoutForText2 != null) {
measuredHeight += AndroidUtilities.dp(4.0f) + this.creditLayout.getHeight();
DrawingText drawingText2 = this.creditLayout;
drawingText2.x = this.textX;
drawingText2.y = this.textY + this.creditOffset;
}
i2 = measuredHeight + AndroidUtilities.dp(16.0f);
TLRPC.TL_pageBlockCollage tL_pageBlockCollage4 = this.currentBlock;
if (((TLRPC.PageBlock) tL_pageBlockCollage4).level > 0 && !((TLRPC.PageBlock) tL_pageBlockCollage4).bottom) {
i2 += AndroidUtilities.dp(8.0f);
}
}
setMeasuredDimension(size, i2);
this.inLayout = false;
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
this.innerListView.layout(this.listX, AndroidUtilities.dp(8.0f), this.listX + this.innerListView.getMeasuredWidth(), this.innerListView.getMeasuredHeight() + AndroidUtilities.dp(8.0f));
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockSlideshowCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockSlideshow currentBlock;
public int currentPage;
public View dotsContainer;
public PagerAdapter innerAdapter;
public ViewPager innerListView;
public float pageOffset;
public WebpageAdapter parentAdapter;
public int textX;
public int textY;
public BlockSlideshowCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.parentAdapter = adapter;
if (ArticleViewer.dotsPaint == null) {
ArticleViewer.dotsPaint = new Paint(1);
ArticleViewer.dotsPaint.setColor(-1);
}
ViewPager viewPager = new ViewPager(context, ArticleViewer.this) {
public boolean onTouchEvent(MotionEvent ev) {
return super.onTouchEvent(ev);
}
public boolean onInterceptTouchEvent(MotionEvent ev) {
ArticleViewer.this.windowView.requestDisallowInterceptTouchEvent(true);
ArticleViewer.this.cancelCheckLongPress();
return super.onInterceptTouchEvent(ev);
}
};
this.innerListView = viewPager;
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(ArticleViewer.this) {
public void onPageScrollStateChanged(int state) {
}
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
float measuredWidth = BlockSlideshowCell.this.innerListView.getMeasuredWidth();
if (measuredWidth == 0.0f) {
return;
}
BlockSlideshowCell.this.pageOffset = (((position * measuredWidth) + positionOffsetPixels) - (r0.currentPage * measuredWidth)) / measuredWidth;
BlockSlideshowCell.this.dotsContainer.invalidate();
}
public void onPageSelected(int position) {
BlockSlideshowCell.this.currentPage = position;
BlockSlideshowCell.this.dotsContainer.invalidate();
}
});
ViewPager viewPager2 = this.innerListView;
PagerAdapter pagerAdapter = new PagerAdapter(ArticleViewer.this) {
public class ObjectContainer {
public TLRPC.PageBlock block;
public View view;
public ObjectContainer(final AnonymousClass3 this$2) {
}
}
public int getCount() {
if (BlockSlideshowCell.this.currentBlock == null) {
return 0;
}
return BlockSlideshowCell.this.currentBlock.items.size();
}
public boolean isViewFromObject(View view, Object object) {
return ((ObjectContainer) object).view == view;
}
public int getItemPosition(Object object) {
return BlockSlideshowCell.this.currentBlock.items.contains(((ObjectContainer) object).block) ? -1 : -2;
}
public Object instantiateItem(ViewGroup viewGroup, int i) {
BlockVideoCell blockVideoCell;
TLRPC.TL_pageBlockPhoto tL_pageBlockPhoto = (TLRPC.PageBlock) BlockSlideshowCell.this.currentBlock.items.get(i);
if (tL_pageBlockPhoto instanceof TLRPC.TL_pageBlockPhoto) {
BlockSlideshowCell blockSlideshowCell = BlockSlideshowCell.this;
BlockPhotoCell blockPhotoCell = ArticleViewer.this.new BlockPhotoCell(blockSlideshowCell.getContext(), BlockSlideshowCell.this.parentAdapter, 1);
blockPhotoCell.setBlock(tL_pageBlockPhoto, true, true);
blockVideoCell = blockPhotoCell;
} else {
BlockSlideshowCell blockSlideshowCell2 = BlockSlideshowCell.this;
BlockVideoCell blockVideoCell2 = ArticleViewer.this.new BlockVideoCell(blockSlideshowCell2.getContext(), BlockSlideshowCell.this.parentAdapter, 1);
TLRPC.TL_pageBlockVideo tL_pageBlockVideo = (TLRPC.TL_pageBlockVideo) tL_pageBlockPhoto;
blockVideoCell2.setBlock(tL_pageBlockVideo, (BlockVideoCellState) ArticleViewer.this.videoStates.get(tL_pageBlockVideo.video_id), true, true);
blockVideoCell = blockVideoCell2;
}
viewGroup.addView(blockVideoCell);
ObjectContainer objectContainer = new ObjectContainer(this);
objectContainer.view = blockVideoCell;
objectContainer.block = tL_pageBlockPhoto;
return objectContainer;
}
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(((ObjectContainer) object).view);
}
};
this.innerAdapter = pagerAdapter;
viewPager2.setAdapter(pagerAdapter);
AndroidUtilities.setViewPagerEdgeEffectColor(this.innerListView, Theme.getColor(Theme.key_windowBackgroundWhite));
addView(this.innerListView);
View view = new View(context, ArticleViewer.this) {
@Override
public void onDraw(Canvas canvas) {
int i;
int i2;
if (BlockSlideshowCell.this.currentBlock == null) {
return;
}
int count = BlockSlideshowCell.this.innerAdapter.getCount();
int dp = (AndroidUtilities.dp(7.0f) * count) + ((count - 1) * AndroidUtilities.dp(6.0f)) + AndroidUtilities.dp(4.0f);
if (dp < getMeasuredWidth()) {
i = (getMeasuredWidth() - dp) / 2;
} else {
int dp2 = AndroidUtilities.dp(4.0f);
int dp3 = AndroidUtilities.dp(13.0f);
int measuredWidth = ((getMeasuredWidth() - AndroidUtilities.dp(8.0f)) / 2) / dp3;
int i3 = (count - measuredWidth) - 1;
if (BlockSlideshowCell.this.currentPage == i3 && BlockSlideshowCell.this.pageOffset < 0.0f) {
i = dp2 - (((int) (BlockSlideshowCell.this.pageOffset * dp3)) + (((count - (measuredWidth * 2)) - 1) * dp3));
} else {
if (BlockSlideshowCell.this.currentPage >= i3) {
i2 = ((count - (measuredWidth * 2)) - 1) * dp3;
} else if (BlockSlideshowCell.this.currentPage > measuredWidth) {
i2 = ((int) (BlockSlideshowCell.this.pageOffset * dp3)) + ((BlockSlideshowCell.this.currentPage - measuredWidth) * dp3);
} else if (BlockSlideshowCell.this.currentPage != measuredWidth || BlockSlideshowCell.this.pageOffset <= 0.0f) {
i = dp2;
} else {
i2 = (int) (BlockSlideshowCell.this.pageOffset * dp3);
}
i = dp2 - i2;
}
}
int i4 = 0;
while (i4 < BlockSlideshowCell.this.currentBlock.items.size()) {
int dp4 = AndroidUtilities.dp(4.0f) + i + (AndroidUtilities.dp(13.0f) * i4);
Drawable drawable = BlockSlideshowCell.this.currentPage == i4 ? ArticleViewer.this.slideDotBigDrawable : ArticleViewer.this.slideDotDrawable;
drawable.setBounds(dp4 - AndroidUtilities.dp(5.0f), 0, dp4 + AndroidUtilities.dp(5.0f), AndroidUtilities.dp(10.0f));
drawable.draw(canvas);
i4++;
}
}
};
this.dotsContainer = view;
addView(view);
setWillNotDraw(false);
}
public void setBlock(TLRPC.TL_pageBlockSlideshow block) {
this.currentBlock = block;
this.innerAdapter.notifyDataSetChanged();
this.innerListView.setCurrentItem(0, false);
this.innerListView.forceLayout();
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.captionLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.creditLayout, this.textX, this.textY + this.creditOffset) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
if (this.currentBlock != null) {
int dp = AndroidUtilities.dp(310.0f);
this.innerListView.measure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(dp, 1073741824));
this.currentBlock.items.size();
this.dotsContainer.measure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(10.0f), 1073741824));
int dp2 = size - AndroidUtilities.dp(36.0f);
int dp3 = dp + AndroidUtilities.dp(16.0f);
this.textY = dp3;
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockSlideshow tL_pageBlockSlideshow = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockSlideshow.caption.text, dp2, dp3, tL_pageBlockSlideshow, this.parentAdapter);
this.captionLayout = createLayoutForText;
if (createLayoutForText != null) {
int dp4 = AndroidUtilities.dp(4.0f) + this.captionLayout.getHeight();
this.creditOffset = dp4;
dp += dp4 + AndroidUtilities.dp(4.0f);
DrawingText drawingText = this.captionLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
} else {
this.creditOffset = 0;
}
ArticleViewer articleViewer2 = ArticleViewer.this;
TLRPC.TL_pageBlockSlideshow tL_pageBlockSlideshow2 = this.currentBlock;
DrawingText createLayoutForText2 = articleViewer2.createLayoutForText(this, null, tL_pageBlockSlideshow2.caption.credit, dp2, this.textY + this.creditOffset, tL_pageBlockSlideshow2, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.creditLayout = createLayoutForText2;
if (createLayoutForText2 != null) {
dp += AndroidUtilities.dp(4.0f) + this.creditLayout.getHeight();
DrawingText drawingText2 = this.creditLayout;
drawingText2.x = this.textX;
drawingText2.y = this.textY + this.creditOffset;
}
i = dp + AndroidUtilities.dp(16.0f);
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
this.innerListView.layout(0, AndroidUtilities.dp(8.0f), this.innerListView.getMeasuredWidth(), AndroidUtilities.dp(8.0f) + this.innerListView.getMeasuredHeight());
int bottom2 = this.innerListView.getBottom() - AndroidUtilities.dp(23.0f);
View view = this.dotsContainer;
view.layout(0, bottom2, view.getMeasuredWidth(), this.dotsContainer.getMeasuredHeight() + bottom2);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
int i = 0;
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
i = 1;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockListItemCell extends ViewGroup implements TextSelectionHelper.ArticleSelectableView {
public RecyclerView.ViewHolder blockLayout;
public int blockX;
public int blockY;
public TL_pageBlockListItem currentBlock;
public int currentBlockType;
public boolean drawDot;
public int numOffsetY;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public boolean verticalAlign;
public BlockListItemCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
}
public void setBlock(TL_pageBlockListItem block) {
if (this.currentBlock != block) {
this.currentBlock = block;
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
removeView(viewHolder.itemView);
this.blockLayout = null;
}
if (this.currentBlock.blockItem != null) {
int typeForBlock = this.parentAdapter.getTypeForBlock(this.currentBlock.blockItem);
this.currentBlockType = typeForBlock;
RecyclerView.ViewHolder onCreateViewHolder = this.parentAdapter.onCreateViewHolder(this, typeForBlock);
this.blockLayout = onCreateViewHolder;
addView(onCreateViewHolder.itemView);
}
}
if (this.currentBlock.blockItem != null) {
this.parentAdapter.bindBlockToHolder(this.currentBlockType, this.blockLayout, this.currentBlock.blockItem, 0, 0);
}
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY)) {
return true;
}
return super.onTouchEvent(event);
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r17, int r18) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockListItemCell.onMeasure(int, int):void");
}
@Override
public void onLayout(boolean changed, int l, int t, int r, int b) {
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
View view = viewHolder.itemView;
int i = this.blockX;
view.layout(i, this.blockY, view.getMeasuredWidth() + i, this.blockY + this.blockLayout.itemView.getMeasuredHeight());
}
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
int measuredWidth = getMeasuredWidth();
if (this.currentBlock.numLayout != null) {
canvas.save();
if (this.parentAdapter.isRtl) {
canvas.translate(((measuredWidth - AndroidUtilities.dp(15.0f)) - this.currentBlock.parent.maxNumWidth) - (this.currentBlock.parent.level * AndroidUtilities.dp(12.0f)), (this.textY + this.numOffsetY) - (this.drawDot ? AndroidUtilities.dp(1.0f) : 0));
} else {
canvas.translate(((AndroidUtilities.dp(15.0f) + this.currentBlock.parent.maxNumWidth) - ((int) Math.ceil(this.currentBlock.numLayout.getLineWidth(0)))) + (this.currentBlock.parent.level * AndroidUtilities.dp(12.0f)), (this.textY + this.numOffsetY) - (this.drawDot ? AndroidUtilities.dp(1.0f) : 0));
}
this.currentBlock.numLayout.draw(canvas, this);
canvas.restore();
}
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
}
@Override
public void invalidate() {
super.invalidate();
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
viewHolder.itemView.invalidate();
}
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
DrawingText drawingText = this.textLayout;
if (drawingText == null) {
return;
}
info.setText(drawingText.getText());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
KeyEvent.Callback callback = viewHolder.itemView;
if (callback instanceof TextSelectionHelper.ArticleSelectableView) {
((TextSelectionHelper.ArticleSelectableView) callback).fillTextLayoutBlocks(blocks);
}
}
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockOrderedListItemCell extends ViewGroup implements TextSelectionHelper.ArticleSelectableView {
public RecyclerView.ViewHolder blockLayout;
public int blockX;
public int blockY;
public TL_pageBlockOrderedListItem currentBlock;
public int currentBlockType;
public int numOffsetY;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public boolean verticalAlign;
public BlockOrderedListItemCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
}
public void setBlock(TL_pageBlockOrderedListItem block) {
if (this.currentBlock != block) {
this.currentBlock = block;
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
removeView(viewHolder.itemView);
this.blockLayout = null;
}
if (this.currentBlock.blockItem != null) {
int typeForBlock = this.parentAdapter.getTypeForBlock(this.currentBlock.blockItem);
this.currentBlockType = typeForBlock;
RecyclerView.ViewHolder onCreateViewHolder = this.parentAdapter.onCreateViewHolder(this, typeForBlock);
this.blockLayout = onCreateViewHolder;
addView(onCreateViewHolder.itemView);
}
}
if (this.currentBlock.blockItem != null) {
this.parentAdapter.bindBlockToHolder(this.currentBlockType, this.blockLayout, this.currentBlock.blockItem, 0, 0);
}
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY)) {
return true;
}
return super.onTouchEvent(event);
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r17, int r18) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockOrderedListItemCell.onMeasure(int, int):void");
}
@Override
public void onLayout(boolean changed, int l, int t, int r, int b) {
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
View view = viewHolder.itemView;
int i = this.blockX;
view.layout(i, this.blockY, view.getMeasuredWidth() + i, this.blockY + this.blockLayout.itemView.getMeasuredHeight());
}
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
int measuredWidth = getMeasuredWidth();
if (this.currentBlock.numLayout != null) {
canvas.save();
if (this.parentAdapter.isRtl) {
canvas.translate(((measuredWidth - AndroidUtilities.dp(18.0f)) - this.currentBlock.parent.maxNumWidth) - (this.currentBlock.parent.level * AndroidUtilities.dp(20.0f)), this.textY + this.numOffsetY);
} else {
canvas.translate(((AndroidUtilities.dp(18.0f) + this.currentBlock.parent.maxNumWidth) - ((int) Math.ceil(this.currentBlock.numLayout.getLineWidth(0)))) + (this.currentBlock.parent.level * AndroidUtilities.dp(20.0f)), this.textY + this.numOffsetY);
}
this.currentBlock.numLayout.draw(canvas, this);
canvas.restore();
}
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
}
@Override
public void invalidate() {
super.invalidate();
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
viewHolder.itemView.invalidate();
}
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
DrawingText drawingText = this.textLayout;
if (drawingText == null) {
return;
}
info.setText(drawingText.getText());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
RecyclerView.ViewHolder viewHolder = this.blockLayout;
if (viewHolder != null) {
KeyEvent.Callback callback = viewHolder.itemView;
if (callback instanceof TextSelectionHelper.ArticleSelectableView) {
((TextSelectionHelper.ArticleSelectableView) callback).fillTextLayoutBlocks(blocks);
}
}
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockDetailsCell extends View implements TextSelectionHelper.ArticleSelectableView {
public AnimatedArrowDrawable arrow;
public TLRPC.TL_pageBlockDetails currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
@Override
public void scheduleDrawable(Drawable drawable, Runnable runnable, long l) {
}
@Override
public void unscheduleDrawable(Drawable drawable, Runnable runnable) {
}
public BlockDetailsCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(50.0f);
this.textY = AndroidUtilities.dp(11.0f) + 1;
this.parentAdapter = adapter;
this.arrow = new AnimatedArrowDrawable(ArticleViewer.getGrayTextColor(), true);
}
@Override
public void invalidateDrawable(Drawable drawable) {
invalidate();
}
public void setBlock(TLRPC.TL_pageBlockDetails block) {
this.currentBlock = block;
this.arrow.setAnimationProgress(block.open ? 0.0f : 1.0f);
this.arrow.setCallback(this);
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
int dp = AndroidUtilities.dp(39.0f);
TLRPC.TL_pageBlockDetails tL_pageBlockDetails = this.currentBlock;
if (tL_pageBlockDetails != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockDetails.title, size - AndroidUtilities.dp(52.0f), 0, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
dp = Math.max(dp, AndroidUtilities.dp(21.0f) + this.textLayout.getHeight());
int height = ((this.textLayout.getHeight() + AndroidUtilities.dp(21.0f)) - this.textLayout.getHeight()) / 2;
this.textY = height;
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = height;
}
}
setMeasuredDimension(size, dp + 1);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
canvas.save();
canvas.translate(AndroidUtilities.dp(18.0f), ((getMeasuredHeight() - AndroidUtilities.dp(13.0f)) - 1) / 2);
this.arrow.draw(canvas);
canvas.restore();
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
float measuredHeight = getMeasuredHeight() - 1;
canvas.drawLine(0.0f, measuredHeight, getMeasuredWidth(), measuredHeight, ArticleViewer.dividerPaint);
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public static class BlockDetailsBottomCell extends View {
public BlockDetailsBottomCell(Context context) {
super(context);
new RectF();
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), AndroidUtilities.dp(4.0f) + 1);
}
@Override
public void onDraw(Canvas canvas) {
canvas.drawLine(0.0f, 0.0f, getMeasuredWidth(), 0.0f, ArticleViewer.dividerPaint);
}
}
public static class BlockRelatedArticlesShadowCell extends View {
public CombinedDrawable shadowDrawable;
public BlockRelatedArticlesShadowCell(Context context) {
super(context);
CombinedDrawable combinedDrawable = new CombinedDrawable(new ColorDrawable(Theme.getColor(Theme.key_windowBackgroundGray)), Theme.getThemedDrawable(context, R.drawable.greydivider_bottom, -16777216));
this.shadowDrawable = combinedDrawable;
combinedDrawable.setFullsize(true);
setBackgroundDrawable(this.shadowDrawable);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), AndroidUtilities.dp(12.0f));
Theme.setCombinedDrawableColor(this.shadowDrawable, Theme.getColor(Theme.key_windowBackgroundGray), false);
}
}
public class BlockRelatedArticlesHeaderCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockRelatedArticles currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockRelatedArticlesHeaderCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockRelatedArticles block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockRelatedArticles tL_pageBlockRelatedArticles = this.currentBlock;
if (tL_pageBlockRelatedArticles != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockRelatedArticles.title, size - AndroidUtilities.dp(52.0f), 0, this.currentBlock, Layout.Alignment.ALIGN_NORMAL, 1, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
this.textY = AndroidUtilities.dp(6.0f) + ((AndroidUtilities.dp(32.0f) - this.textLayout.getHeight()) / 2);
}
}
if (this.textLayout != null) {
setMeasuredDimension(size, AndroidUtilities.dp(38.0f));
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
return;
}
setMeasuredDimension(size, 1);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockRelatedArticlesCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TL_pageBlockRelatedArticlesChild currentBlock;
public boolean divider;
public boolean drawImage;
public ImageReceiver imageView;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public DrawingText textLayout2;
public int textOffset;
public int textX;
public int textY;
public BlockRelatedArticlesCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(10.0f);
this.parentAdapter = adapter;
ImageReceiver imageReceiver = new ImageReceiver(this);
this.imageView = imageReceiver;
imageReceiver.setRoundRadius(AndroidUtilities.dp(6.0f));
}
public void setBlock(TL_pageBlockRelatedArticlesChild block) {
this.currentBlock = block;
requestLayout();
}
@Override
@SuppressLint({"DrawAllocation", "NewApi"})
public void onMeasure(int i, int i2) {
int i3;
boolean z;
int i4;
String str;
int size = View.MeasureSpec.getSize(i);
this.divider = this.currentBlock.num != this.currentBlock.parent.articles.size() - 1;
TLRPC.TL_pageRelatedArticle tL_pageRelatedArticle = (TLRPC.TL_pageRelatedArticle) this.currentBlock.parent.articles.get(this.currentBlock.num);
int dp = AndroidUtilities.dp(SharedConfig.ivFontSize - 16);
long j = tL_pageRelatedArticle.photo_id;
TLRPC.Photo photoWithId = j != 0 ? this.parentAdapter.getPhotoWithId(j) : null;
if (photoWithId != null) {
this.drawImage = true;
TLRPC.PhotoSize closestPhotoSizeWithSize = FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, AndroidUtilities.getPhotoSize());
TLRPC.PhotoSize closestPhotoSizeWithSize2 = FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, 80, true);
this.imageView.setImage(ImageLocation.getForPhoto(closestPhotoSizeWithSize, photoWithId), "64_64", ImageLocation.getForPhoto(closestPhotoSizeWithSize != closestPhotoSizeWithSize2 ? closestPhotoSizeWithSize2 : null, photoWithId), "64_64_b", closestPhotoSizeWithSize.size, (String) null, this.parentAdapter.currentPage, 1);
} else {
this.drawImage = false;
}
int dp2 = AndroidUtilities.dp(60.0f);
int dp3 = size - AndroidUtilities.dp(36.0f);
if (this.drawImage) {
float dp4 = AndroidUtilities.dp(44.0f);
this.imageView.setImageCoords((size - r1) - AndroidUtilities.dp(8.0f), AndroidUtilities.dp(8.0f), dp4, dp4);
dp3 = (int) (dp3 - (this.imageView.getImageWidth() + AndroidUtilities.dp(6.0f)));
}
int i5 = dp3;
int dp5 = AndroidUtilities.dp(18.0f);
String str2 = tL_pageRelatedArticle.title;
if (str2 != null) {
i3 = dp2;
this.textLayout = ArticleViewer.this.createLayoutForText(this, str2, null, i5, this.textY, this.currentBlock, Layout.Alignment.ALIGN_NORMAL, 3, this.parentAdapter);
} else {
i3 = dp2;
}
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
int lineCount = drawingText.getLineCount();
int i6 = 4 - lineCount;
this.textOffset = this.textLayout.getHeight() + AndroidUtilities.dp(6.0f) + dp;
dp5 += this.textLayout.getHeight();
int i7 = 0;
while (true) {
if (i7 >= lineCount) {
z = false;
break;
} else {
if (this.textLayout.getLineLeft(i7) != 0.0f) {
z = true;
break;
}
i7++;
}
}
DrawingText drawingText2 = this.textLayout;
drawingText2.x = this.textX;
drawingText2.y = this.textY;
i4 = i6;
} else {
this.textOffset = 0;
z = false;
i4 = 4;
}
if (tL_pageRelatedArticle.published_date != 0 && !TextUtils.isEmpty(tL_pageRelatedArticle.author)) {
str = LocaleController.formatString("ArticleDateByAuthor", R.string.ArticleDateByAuthor, new Object[]{LocaleController.getInstance().chatFullDate.format(tL_pageRelatedArticle.published_date * 1000), tL_pageRelatedArticle.author});
} else if (!TextUtils.isEmpty(tL_pageRelatedArticle.author)) {
str = LocaleController.formatString("ArticleByAuthor", R.string.ArticleByAuthor, new Object[]{tL_pageRelatedArticle.author});
} else if (tL_pageRelatedArticle.published_date != 0) {
str = LocaleController.getInstance().chatFullDate.format(tL_pageRelatedArticle.published_date * 1000);
} else if (!TextUtils.isEmpty(tL_pageRelatedArticle.description)) {
str = tL_pageRelatedArticle.description;
} else {
str = tL_pageRelatedArticle.url;
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, str, null, i5, this.textOffset + this.textY, this.currentBlock, (this.parentAdapter.isRtl || z) ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, i4, this.parentAdapter);
this.textLayout2 = createLayoutForText;
if (createLayoutForText != null) {
dp5 += createLayoutForText.getHeight();
if (this.textLayout != null) {
dp5 += AndroidUtilities.dp(6.0f) + dp;
}
DrawingText drawingText3 = this.textLayout2;
drawingText3.x = this.textX;
drawingText3.y = this.textY + this.textOffset;
}
setMeasuredDimension(size, Math.max(i3, dp5) + (this.divider ? 1 : 0));
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (this.drawImage) {
this.imageView.draw(canvas);
}
canvas.save();
canvas.translate(this.textX, AndroidUtilities.dp(10.0f));
if (this.textLayout != null) {
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.textLayout.draw(canvas, this);
i = 1;
} else {
i = 0;
}
if (this.textLayout2 != null) {
canvas.translate(0.0f, this.textOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.textLayout2.draw(canvas, this);
}
canvas.restore();
if (this.divider) {
canvas.drawLine(this.parentAdapter.isRtl ? 0.0f : AndroidUtilities.dp(17.0f), getMeasuredHeight() - 1, getMeasuredWidth() - (this.parentAdapter.isRtl ? AndroidUtilities.dp(17.0f) : 0), getMeasuredHeight() - 1, ArticleViewer.dividerPaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.textLayout2;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockHeaderCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockHeader currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockHeaderCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockHeader block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockHeader tL_pageBlockHeader = this.currentBlock;
int i = 0;
if (tL_pageBlockHeader != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockHeader.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
i = 0 + AndroidUtilities.dp(16.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
if (this.textLayout == null) {
return;
}
info.setText(((Object) this.textLayout.getText()) + ", " + LocaleController.getString("AccDescrIVHeading", R.string.AccDescrIVHeading));
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public static class BlockDividerCell extends View {
public RectF rect;
public BlockDividerCell(Context context) {
super(context);
this.rect = new RectF();
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), AndroidUtilities.dp(18.0f));
}
@Override
public void onDraw(Canvas canvas) {
this.rect.set(getMeasuredWidth() / 3, AndroidUtilities.dp(8.0f), r0 * 2, AndroidUtilities.dp(10.0f));
canvas.drawRoundRect(this.rect, AndroidUtilities.dp(1.0f), AndroidUtilities.dp(1.0f), ArticleViewer.dividerPaint);
}
}
public class BlockSubtitleCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockSubtitle currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockSubtitleCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockSubtitle block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockSubtitle tL_pageBlockSubtitle = this.currentBlock;
int i = 0;
if (tL_pageBlockSubtitle != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockSubtitle.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
i = 0 + AndroidUtilities.dp(16.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
if (this.textLayout == null) {
return;
}
info.setText(((Object) this.textLayout.getText()) + ", " + LocaleController.getString("AccDescrIVHeading", R.string.AccDescrIVHeading));
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockPullquoteCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockPullquote currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public DrawingText textLayout2;
public int textX;
public int textY;
public int textY2;
public BlockPullquoteCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockPullquote block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout2, this.textX, this.textY2) || super.onTouchEvent(event);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockPullquote tL_pageBlockPullquote = this.currentBlock;
if (tL_pageBlockPullquote != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockPullquote.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter);
this.textLayout = createLayoutForText;
i = 0;
if (createLayoutForText != null) {
i = 0 + AndroidUtilities.dp(8.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
this.textY2 = AndroidUtilities.dp(2.0f) + i;
DrawingText createLayoutForText2 = ArticleViewer.this.createLayoutForText(this, null, this.currentBlock.caption, size - AndroidUtilities.dp(36.0f), this.textY2, this.currentBlock, this.parentAdapter);
this.textLayout2 = createLayoutForText2;
if (createLayoutForText2 != null) {
i += AndroidUtilities.dp(8.0f) + this.textLayout2.getHeight();
DrawingText drawingText2 = this.textLayout2;
drawingText2.x = this.textX;
drawingText2.y = this.textY2;
}
if (i != 0) {
i += AndroidUtilities.dp(8.0f);
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
int i = 0;
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.textLayout.draw(canvas, this);
canvas.restore();
i = 1;
}
if (this.textLayout2 != null) {
canvas.save();
canvas.translate(this.textX, this.textY2);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.textLayout2.draw(canvas, this);
canvas.restore();
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.textLayout2;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockBlockquoteCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockBlockquote currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public DrawingText textLayout2;
public int textX;
public int textY;
public int textY2;
public BlockBlockquoteCell(Context context, WebpageAdapter adapter) {
super(context);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockBlockquote block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout2, this.textX, this.textY2) || super.onTouchEvent(event);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
if (this.currentBlock != null) {
int dp = size - AndroidUtilities.dp(50.0f);
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
dp -= AndroidUtilities.dp(r0 * 14);
}
ArticleViewer articleViewer = ArticleViewer.this;
TLRPC.TL_pageBlockBlockquote tL_pageBlockBlockquote = this.currentBlock;
DrawingText createLayoutForText = articleViewer.createLayoutForText(this, null, tL_pageBlockBlockquote.text, dp, this.textY, tL_pageBlockBlockquote, this.parentAdapter);
this.textLayout = createLayoutForText;
i = createLayoutForText != null ? 0 + AndroidUtilities.dp(8.0f) + this.textLayout.getHeight() : 0;
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
if (this.parentAdapter.isRtl) {
this.textX = AndroidUtilities.dp((((TLRPC.PageBlock) this.currentBlock).level * 14) + 14);
} else {
this.textX = AndroidUtilities.dp(((TLRPC.PageBlock) this.currentBlock).level * 14) + AndroidUtilities.dp(32.0f);
}
} else if (this.parentAdapter.isRtl) {
this.textX = AndroidUtilities.dp(14.0f);
} else {
this.textX = AndroidUtilities.dp(32.0f);
}
int dp2 = i + AndroidUtilities.dp(8.0f);
this.textY2 = dp2;
ArticleViewer articleViewer2 = ArticleViewer.this;
TLRPC.TL_pageBlockBlockquote tL_pageBlockBlockquote2 = this.currentBlock;
DrawingText createLayoutForText2 = articleViewer2.createLayoutForText(this, null, tL_pageBlockBlockquote2.caption, dp, dp2, tL_pageBlockBlockquote2, this.parentAdapter);
this.textLayout2 = createLayoutForText2;
if (createLayoutForText2 != null) {
i += AndroidUtilities.dp(8.0f) + this.textLayout2.getHeight();
}
if (i != 0) {
i += AndroidUtilities.dp(8.0f);
}
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
drawingText.x = this.textX;
drawingText.y = this.textY;
}
DrawingText drawingText2 = this.textLayout2;
if (drawingText2 != null) {
drawingText2.x = this.textX;
drawingText2.y = this.textY2;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.textLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.textLayout2 != null) {
canvas.save();
canvas.translate(this.textX, this.textY2);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.textLayout2.draw(canvas, this);
canvas.restore();
}
if (this.parentAdapter.isRtl) {
canvas.drawRect(getMeasuredWidth() - AndroidUtilities.dp(20.0f), AndroidUtilities.dp(6.0f), r0 + AndroidUtilities.dp(2.0f), getMeasuredHeight() - AndroidUtilities.dp(6.0f), ArticleViewer.quoteLinePaint);
} else {
canvas.drawRect(AndroidUtilities.dp((((TLRPC.PageBlock) this.currentBlock).level * 14) + 18), AndroidUtilities.dp(6.0f), AndroidUtilities.dp((((TLRPC.PageBlock) this.currentBlock).level * 14) + 20), getMeasuredHeight() - AndroidUtilities.dp(6.0f), ArticleViewer.quoteLinePaint);
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.textLayout2;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockPhotoCell extends FrameLayout implements DownloadController.FileDownloadProgressListener, TextSelectionHelper.ArticleSelectableView {
public int TAG;
public boolean autoDownload;
public int buttonPressed;
public int buttonState;
public int buttonX;
public int buttonY;
public DrawingText captionLayout;
public BlockChannelCell channelCell;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockPhoto currentBlock;
public String currentFilter;
public TLRPC.Photo currentPhoto;
public TLRPC.PhotoSize currentPhotoObject;
public TLRPC.PhotoSize currentPhotoObjectThumb;
public String currentThumbFilter;
public int currentType;
public MessageObject.GroupedMessagePosition groupPosition;
public ImageReceiver imageView;
public boolean isFirst;
public Drawable linkDrawable;
public WebpageAdapter parentAdapter;
public TLRPC.PageBlock parentBlock;
public boolean photoPressed;
public RadialProgress2 radialProgress;
public int textX;
public int textY;
public void onProgressUpload(String fileName, long uploadedSize, long totalSize, boolean isEncrypted) {
}
public BlockPhotoCell(Context context, WebpageAdapter adapter, int type) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
this.imageView = new ImageReceiver(this);
this.channelCell = ArticleViewer.this.new BlockChannelCell(context, this.parentAdapter, 1);
RadialProgress2 radialProgress2 = new RadialProgress2(this);
this.radialProgress = radialProgress2;
radialProgress2.setProgressColor(-1);
this.radialProgress.setColors(1711276032, 2130706432, -1, -2500135);
this.TAG = DownloadController.getInstance(ArticleViewer.this.currentAccount).generateObserverTag();
addView(this.channelCell, LayoutHelper.createFrame(-1, -2.0f));
this.currentType = type;
}
public void setBlock(TLRPC.TL_pageBlockPhoto block, boolean first, boolean last) {
this.parentBlock = null;
this.currentBlock = block;
this.isFirst = first;
this.channelCell.setVisibility(4);
if (!TextUtils.isEmpty(this.currentBlock.url)) {
this.linkDrawable = getResources().getDrawable(R.drawable.msg_instant_link);
}
TLRPC.TL_pageBlockPhoto tL_pageBlockPhoto = this.currentBlock;
if (tL_pageBlockPhoto != null) {
TLRPC.Photo photoWithId = this.parentAdapter.getPhotoWithId(tL_pageBlockPhoto.photo_id);
if (photoWithId != null) {
this.currentPhotoObject = FileLoader.getClosestPhotoSizeWithSize(photoWithId.sizes, AndroidUtilities.getPhotoSize());
} else {
this.currentPhotoObject = null;
}
} else {
this.currentPhotoObject = null;
}
updateButtonState(false);
requestLayout();
}
public void setParentBlock(TLRPC.PageBlock block) {
this.parentBlock = block;
if (this.parentAdapter.channelBlock == null || !(this.parentBlock instanceof TLRPC.TL_pageBlockCover)) {
return;
}
this.channelCell.setBlock(this.parentAdapter.channelBlock);
this.channelCell.setVisibility(0);
}
@Override
public boolean onTouchEvent(android.view.MotionEvent r13) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockPhotoCell.onTouchEvent(android.view.MotionEvent):boolean");
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r29, int r30) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockPhotoCell.onMeasure(int, int):void");
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
if (!this.imageView.hasBitmapImage() || this.imageView.getCurrentAlpha() != 1.0f) {
canvas.drawRect(this.imageView.getImageX(), this.imageView.getImageY(), this.imageView.getImageX2(), this.imageView.getImageY2(), ArticleViewer.photoBackgroundPaint);
}
if (!ArticleViewer.this.pinchToZoomHelper.isInOverlayModeFor(this)) {
this.imageView.draw(canvas);
if (this.imageView.getVisible()) {
this.radialProgress.draw(canvas);
}
}
if (!TextUtils.isEmpty(this.currentBlock.url)) {
int measuredWidth = getMeasuredWidth() - AndroidUtilities.dp(35.0f);
int imageY = (int) (this.imageView.getImageY() + AndroidUtilities.dp(11.0f));
this.linkDrawable.setBounds(measuredWidth, imageY, AndroidUtilities.dp(24.0f) + measuredWidth, AndroidUtilities.dp(24.0f) + imageY);
this.linkDrawable.draw(canvas);
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
public final int getIconForCurrentState() {
int i = this.buttonState;
if (i == 0) {
return 2;
}
return i == 1 ? 3 : 4;
}
public final void didPressedButton(boolean animated) {
int i = this.buttonState;
if (i == 0) {
this.radialProgress.setProgress(0.0f, animated);
this.imageView.setImage(ImageLocation.getForPhoto(this.currentPhotoObject, this.currentPhoto), this.currentFilter, ImageLocation.getForPhoto(this.currentPhotoObjectThumb, this.currentPhoto), this.currentThumbFilter, this.currentPhotoObject.size, (String) null, this.parentAdapter.currentPage, 1);
this.buttonState = 1;
this.radialProgress.setIcon(getIconForCurrentState(), true, animated);
invalidate();
return;
}
if (i == 1) {
this.imageView.cancelLoadImage();
this.buttonState = 0;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
invalidate();
}
}
public void updateButtonState(boolean animated) {
String attachFileName = FileLoader.getAttachFileName(this.currentPhotoObject);
boolean exists = FileLoader.getInstance(ArticleViewer.this.currentAccount).getPathToAttach(this.currentPhotoObject, true).exists();
if (TextUtils.isEmpty(attachFileName)) {
this.radialProgress.setIcon(4, false, false);
return;
}
if (exists) {
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
this.buttonState = -1;
this.radialProgress.setIcon(getIconForCurrentState(), false, animated);
} else {
DownloadController.getInstance(ArticleViewer.this.currentAccount).addLoadingFileObserver(attachFileName, (MessageObject) null, this);
float f = 0.0f;
if (this.autoDownload || FileLoader.getInstance(ArticleViewer.this.currentAccount).isLoadingFile(attachFileName)) {
this.buttonState = 1;
Float fileProgress = ImageLoader.getInstance().getFileProgress(attachFileName);
if (fileProgress != null) {
f = fileProgress.floatValue();
}
} else {
this.buttonState = 0;
}
this.radialProgress.setIcon(getIconForCurrentState(), true, animated);
this.radialProgress.setProgress(f, false);
}
invalidate();
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
this.imageView.onDetachedFromWindow();
DownloadController.getInstance(ArticleViewer.this.currentAccount).removeLoadingFileObserver(this);
}
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.imageView.onAttachedToWindow();
updateButtonState(false);
}
public void onFailedDownload(String fileName, boolean canceled) {
updateButtonState(false);
}
public void onSuccessDownload(String fileName) {
this.radialProgress.setProgress(1.0f, true);
updateButtonState(true);
}
public void onProgressDownload(String fileName, long downloadSize, long totalSize) {
this.radialProgress.setProgress(Math.min(1.0f, downloadSize / totalSize), true);
if (this.buttonState != 1) {
updateButtonState(true);
}
}
public int getObserverTag() {
return this.TAG;
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
StringBuilder sb = new StringBuilder(LocaleController.getString("AttachPhoto", R.string.AttachPhoto));
if (this.captionLayout != null) {
sb.append(", ");
sb.append(this.captionLayout.getText());
}
info.setText(sb.toString());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockMapCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public DrawingText captionLayout;
public DrawingText creditLayout;
public int creditOffset;
public TLRPC.TL_pageBlockMap currentBlock;
public int currentMapProvider;
public int currentType;
public ImageReceiver imageView;
public boolean isFirst;
public WebpageAdapter parentAdapter;
public boolean photoPressed;
public int textX;
public int textY;
public BlockMapCell(Context context, WebpageAdapter adapter, int type) {
super(context);
this.parentAdapter = adapter;
setWillNotDraw(false);
this.imageView = new ImageReceiver(this);
this.currentType = type;
}
public void setBlock(TLRPC.TL_pageBlockMap block, boolean first, boolean last) {
this.currentBlock = block;
this.isFirst = first;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
if (event.getAction() == 0 && this.imageView.isInsideImage(x, y)) {
this.photoPressed = true;
} else if (event.getAction() == 1 && this.photoPressed) {
this.photoPressed = false;
try {
TLRPC.GeoPoint geoPoint = this.currentBlock.geo;
double d = geoPoint.lat;
double d2 = geoPoint._long;
ArticleViewer.this.parentActivity.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("geo:" + d + "," + d2 + "?q=" + d + "," + d2)));
} catch (Exception e) {
FileLog.e(e);
}
} else if (event.getAction() == 3) {
this.photoPressed = false;
}
return this.photoPressed || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.captionLayout, this.textX, this.textY) || ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.creditLayout, this.textX, this.textY + this.creditOffset) || super.onTouchEvent(event);
}
@Override
@android.annotation.SuppressLint({"NewApi"})
public void onMeasure(int r32, int r33) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.BlockMapCell.onMeasure(int, int):void");
}
@Override
public void onDraw(Canvas canvas) {
int i;
if (this.currentBlock == null) {
return;
}
Theme.chat_docBackPaint.setColor(Theme.getColor(Theme.key_chat_inLocationBackground));
canvas.drawRect(this.imageView.getImageX(), this.imageView.getImageY(), this.imageView.getImageX2(), this.imageView.getImageY2(), Theme.chat_docBackPaint);
int centerX = (int) (this.imageView.getCenterX() - (Theme.chat_locationDrawable[0].getIntrinsicWidth() / 2));
int centerY = (int) (this.imageView.getCenterY() - (Theme.chat_locationDrawable[0].getIntrinsicHeight() / 2));
Drawable[] drawableArr = Theme.chat_locationDrawable;
drawableArr[0].setBounds(centerX, centerY, drawableArr[0].getIntrinsicWidth() + centerX, Theme.chat_locationDrawable[0].getIntrinsicHeight() + centerY);
Theme.chat_locationDrawable[0].draw(canvas);
this.imageView.draw(canvas);
if (this.currentMapProvider == 2 && this.imageView.hasNotThumb()) {
if (ArticleViewer.this.chat_redLocationIcon == null) {
ArticleViewer.this.chat_redLocationIcon = ContextCompat.getDrawable(getContext(), R.drawable.map_pin).mutate();
}
int intrinsicWidth = (int) (ArticleViewer.this.chat_redLocationIcon.getIntrinsicWidth() * 0.8f);
int intrinsicHeight = (int) (ArticleViewer.this.chat_redLocationIcon.getIntrinsicHeight() * 0.8f);
int imageX = (int) (this.imageView.getImageX() + ((this.imageView.getImageWidth() - intrinsicWidth) / 2.0f));
int imageY = (int) (this.imageView.getImageY() + ((this.imageView.getImageHeight() / 2.0f) - intrinsicHeight));
ArticleViewer.this.chat_redLocationIcon.setAlpha((int) (this.imageView.getCurrentAlpha() * 255.0f));
ArticleViewer.this.chat_redLocationIcon.setBounds(imageX, imageY, intrinsicWidth + imageX, intrinsicHeight + imageY);
ArticleViewer.this.chat_redLocationIcon.draw(canvas);
}
if (this.captionLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
i = 1;
ArticleViewer.this.drawTextSelection(canvas, this, 0);
this.captionLayout.draw(canvas, this);
canvas.restore();
} else {
i = 0;
}
if (this.creditLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY + this.creditOffset);
ArticleViewer.this.drawTextSelection(canvas, this, i);
this.creditLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
StringBuilder sb = new StringBuilder(LocaleController.getString("Map", R.string.Map));
if (this.captionLayout != null) {
sb.append(", ");
sb.append(this.captionLayout.getText());
}
info.setText(sb.toString());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.captionLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
DrawingText drawingText2 = this.creditLayout;
if (drawingText2 != null) {
blocks.add(drawingText2);
}
}
}
public class BlockChannelCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public Paint backgroundPaint;
public int buttonWidth;
public AnimatorSet currentAnimation;
public TLRPC.TL_pageBlockChannel currentBlock;
public int currentState;
public int currentType;
public ImageView imageView;
public WebpageAdapter parentAdapter;
public ContextProgressView progressView;
public DrawingText textLayout;
public TextView textView;
public int textX;
public int textX2;
public int textY;
public BlockChannelCell(Context context, WebpageAdapter adapter, int type) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(11.0f);
this.parentAdapter = adapter;
setWillNotDraw(false);
this.backgroundPaint = new Paint();
this.currentType = type;
TextView textView = new TextView(context);
this.textView = textView;
textView.setTextSize(1, 14.0f);
this.textView.setTypeface(AndroidUtilities.bold());
this.textView.setText(LocaleController.getString("ChannelJoin", R.string.ChannelJoin));
this.textView.setGravity(19);
addView(this.textView, LayoutHelper.createFrame(-2, 39, 53));
this.textView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
ArticleViewer.BlockChannelCell.this.lambda$new$0(view);
}
});
ImageView imageView = new ImageView(context);
this.imageView = imageView;
imageView.setImageResource(R.drawable.list_check);
this.imageView.setScaleType(ImageView.ScaleType.CENTER);
addView(this.imageView, LayoutHelper.createFrame(39, 39, 53));
ContextProgressView contextProgressView = new ContextProgressView(context, 0);
this.progressView = contextProgressView;
addView((View) contextProgressView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(39, 39, 53));
}
public void lambda$new$0(View view) {
if (this.currentState != 0) {
return;
}
setState(1, true);
ArticleViewer articleViewer = ArticleViewer.this;
articleViewer.joinChannel(this, articleViewer.loadedChannel);
}
public void setBlock(TLRPC.TL_pageBlockChannel block) {
this.currentBlock = block;
if (this.currentType == 0) {
int color = Theme.getColor(Theme.key_switchTrack);
int red = Color.red(color);
int green = Color.green(color);
int blue = Color.blue(color);
this.textView.setTextColor(ArticleViewer.this.getLinkTextColor());
this.backgroundPaint.setColor(Color.argb(34, red, green, blue));
this.imageView.setColorFilter(new PorterDuffColorFilter(ArticleViewer.getGrayTextColor(), PorterDuff.Mode.MULTIPLY));
} else {
this.textView.setTextColor(-1);
this.backgroundPaint.setColor(2130706432);
this.imageView.setColorFilter(new PorterDuffColorFilter(-1, PorterDuff.Mode.MULTIPLY));
}
TLRPC.Chat chat = MessagesController.getInstance(ArticleViewer.this.currentAccount).getChat(Long.valueOf(block.channel.id));
if (chat == null || chat.min) {
ArticleViewer.this.loadChannel(this, this.parentAdapter, block.channel);
setState(1, false);
} else {
ArticleViewer.this.loadedChannel = chat;
if (chat.left && !chat.kicked) {
setState(0, false);
} else {
setState(4, false);
}
}
requestLayout();
}
public void setState(int state, boolean animated) {
AnimatorSet animatorSet = this.currentAnimation;
if (animatorSet != null) {
animatorSet.cancel();
}
this.currentState = state;
if (animated) {
AnimatorSet animatorSet2 = new AnimatorSet();
this.currentAnimation = animatorSet2;
Animator[] animatorArr = new Animator[9];
TextView textView = this.textView;
Property property = View.ALPHA;
float[] fArr = new float[1];
fArr[0] = state == 0 ? 1.0f : 0.0f;
animatorArr[0] = ObjectAnimator.ofFloat(textView, (Property<TextView, Float>) property, fArr);
TextView textView2 = this.textView;
Property property2 = View.SCALE_X;
float[] fArr2 = new float[1];
fArr2[0] = state == 0 ? 1.0f : 0.1f;
animatorArr[1] = ObjectAnimator.ofFloat(textView2, (Property<TextView, Float>) property2, fArr2);
TextView textView3 = this.textView;
Property property3 = View.SCALE_Y;
float[] fArr3 = new float[1];
fArr3[0] = state == 0 ? 1.0f : 0.1f;
animatorArr[2] = ObjectAnimator.ofFloat(textView3, (Property<TextView, Float>) property3, fArr3);
ContextProgressView contextProgressView = this.progressView;
Property property4 = View.ALPHA;
float[] fArr4 = new float[1];
fArr4[0] = state == 1 ? 1.0f : 0.0f;
animatorArr[3] = ObjectAnimator.ofFloat(contextProgressView, (Property<ContextProgressView, Float>) property4, fArr4);
ContextProgressView contextProgressView2 = this.progressView;
Property property5 = View.SCALE_X;
float[] fArr5 = new float[1];
fArr5[0] = state == 1 ? 1.0f : 0.1f;
animatorArr[4] = ObjectAnimator.ofFloat(contextProgressView2, (Property<ContextProgressView, Float>) property5, fArr5);
ContextProgressView contextProgressView3 = this.progressView;
Property property6 = View.SCALE_Y;
float[] fArr6 = new float[1];
fArr6[0] = state == 1 ? 1.0f : 0.1f;
animatorArr[5] = ObjectAnimator.ofFloat(contextProgressView3, (Property<ContextProgressView, Float>) property6, fArr6);
ImageView imageView = this.imageView;
Property property7 = View.ALPHA;
float[] fArr7 = new float[1];
fArr7[0] = state == 2 ? 1.0f : 0.0f;
animatorArr[6] = ObjectAnimator.ofFloat(imageView, (Property<ImageView, Float>) property7, fArr7);
ImageView imageView2 = this.imageView;
Property property8 = View.SCALE_X;
float[] fArr8 = new float[1];
fArr8[0] = state == 2 ? 1.0f : 0.1f;
animatorArr[7] = ObjectAnimator.ofFloat(imageView2, (Property<ImageView, Float>) property8, fArr8);
ImageView imageView3 = this.imageView;
Property property9 = View.SCALE_Y;
float[] fArr9 = new float[1];
fArr9[0] = state == 2 ? 1.0f : 0.1f;
animatorArr[8] = ObjectAnimator.ofFloat(imageView3, (Property<ImageView, Float>) property9, fArr9);
animatorSet2.playTogether(animatorArr);
this.currentAnimation.setDuration(150L);
this.currentAnimation.start();
return;
}
this.textView.setAlpha(state == 0 ? 1.0f : 0.0f);
this.textView.setScaleX(state == 0 ? 1.0f : 0.1f);
this.textView.setScaleY(state == 0 ? 1.0f : 0.1f);
this.progressView.setAlpha(state == 1 ? 1.0f : 0.0f);
this.progressView.setScaleX(state == 1 ? 1.0f : 0.1f);
this.progressView.setScaleY(state == 1 ? 1.0f : 0.1f);
this.imageView.setAlpha(state == 2 ? 1.0f : 0.0f);
this.imageView.setScaleX(state == 2 ? 1.0f : 0.1f);
this.imageView.setScaleY(state == 2 ? 1.0f : 0.1f);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.currentType != 0) {
return super.onTouchEvent(event);
}
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
setMeasuredDimension(size, AndroidUtilities.dp(48.0f));
this.textView.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(widthMeasureSpec), Integer.MIN_VALUE), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(39.0f), 1073741824));
this.buttonWidth = this.textView.getMeasuredWidth();
this.progressView.measure(View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(39.0f), 1073741824), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(39.0f), 1073741824));
this.imageView.measure(View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(39.0f), 1073741824), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(39.0f), 1073741824));
TLRPC.TL_pageBlockChannel tL_pageBlockChannel = this.currentBlock;
if (tL_pageBlockChannel != null) {
this.textLayout = ArticleViewer.this.createLayoutForText(this, tL_pageBlockChannel.channel.title, null, (size - AndroidUtilities.dp(52.0f)) - this.buttonWidth, this.textY, this.currentBlock, StaticLayoutEx.ALIGN_LEFT(), 1, this.parentAdapter);
if (this.parentAdapter.isRtl) {
this.textX2 = this.textX;
} else {
this.textX2 = (getMeasuredWidth() - this.textX) - this.buttonWidth;
}
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
drawingText.x = this.textX;
drawingText.y = this.textY;
}
}
}
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
this.imageView.layout((this.textX2 + (this.buttonWidth / 2)) - AndroidUtilities.dp(19.0f), 0, this.textX2 + (this.buttonWidth / 2) + AndroidUtilities.dp(20.0f), AndroidUtilities.dp(39.0f));
this.progressView.layout((this.textX2 + (this.buttonWidth / 2)) - AndroidUtilities.dp(19.0f), 0, this.textX2 + (this.buttonWidth / 2) + AndroidUtilities.dp(20.0f), AndroidUtilities.dp(39.0f));
TextView textView = this.textView;
int i = this.textX2;
textView.layout(i, 0, textView.getMeasuredWidth() + i, this.textView.getMeasuredHeight());
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
canvas.drawRect(0.0f, 0.0f, getMeasuredWidth(), AndroidUtilities.dp(39.0f), this.backgroundPaint);
DrawingText drawingText = this.textLayout;
if (drawingText == null || drawingText.getLineCount() <= 0) {
return;
}
canvas.save();
if (this.parentAdapter.isRtl) {
canvas.translate((getMeasuredWidth() - this.textLayout.getLineWidth(0)) - this.textX, this.textY);
} else {
canvas.translate(this.textX, this.textY);
}
if (this.currentType == 0) {
ArticleViewer.this.drawTextSelection(canvas, this);
}
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockAuthorDateCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockAuthorDate currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockAuthorDateCell(Context context, WebpageAdapter adapter) {
super(context);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockAuthorDate block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
public void onMeasure(int i, int i2) {
Spannable spannable;
CharSequence charSequence;
int indexOf;
int size = View.MeasureSpec.getSize(i);
TLRPC.TL_pageBlockAuthorDate tL_pageBlockAuthorDate = this.currentBlock;
int i3 = 1;
if (tL_pageBlockAuthorDate != null) {
ArticleViewer articleViewer = ArticleViewer.this;
WebpageAdapter webpageAdapter = this.parentAdapter;
TLRPC.RichText richText = tL_pageBlockAuthorDate.author;
CharSequence text = articleViewer.getText(webpageAdapter, (View) this, richText, richText, (TLRPC.PageBlock) tL_pageBlockAuthorDate, size);
MetricAffectingSpan[] metricAffectingSpanArr = null;
if (text instanceof Spannable) {
Spannable spannable2 = (Spannable) text;
metricAffectingSpanArr = (MetricAffectingSpan[]) spannable2.getSpans(0, text.length(), MetricAffectingSpan.class);
spannable = spannable2;
} else {
spannable = null;
}
if (this.currentBlock.published_date != 0 && !TextUtils.isEmpty(text)) {
charSequence = LocaleController.formatString("ArticleDateByAuthor", R.string.ArticleDateByAuthor, new Object[]{LocaleController.getInstance().chatFullDate.format(this.currentBlock.published_date * 1000), text});
} else if (!TextUtils.isEmpty(text)) {
charSequence = LocaleController.formatString("ArticleByAuthor", R.string.ArticleByAuthor, new Object[]{text});
} else {
charSequence = LocaleController.getInstance().chatFullDate.format(this.currentBlock.published_date * 1000);
}
if (metricAffectingSpanArr != null) {
try {
if (metricAffectingSpanArr.length > 0 && (indexOf = TextUtils.indexOf((CharSequence) charSequence, text)) != -1) {
charSequence = Spannable.Factory.getInstance().newSpannable(charSequence);
for (int i4 = 0; i4 < metricAffectingSpanArr.length; i4++) {
charSequence.setSpan(metricAffectingSpanArr[i4], spannable.getSpanStart(metricAffectingSpanArr[i4]) + indexOf, spannable.getSpanEnd(metricAffectingSpanArr[i4]) + indexOf, 33);
}
}
} catch (Exception e) {
FileLog.e(e);
}
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, charSequence, null, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
int dp = AndroidUtilities.dp(16.0f) + this.textLayout.getHeight() + 0;
if (this.parentAdapter.isRtl) {
this.textX = (int) Math.floor(((size - this.textLayout.getLineLeft(0)) - this.textLayout.getLineWidth(0)) - AndroidUtilities.dp(16.0f));
} else {
this.textX = AndroidUtilities.dp(18.0f);
}
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
i3 = dp;
} else {
i3 = 0;
}
}
setMeasuredDimension(size, i3);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
DrawingText drawingText = this.textLayout;
if (drawingText == null) {
return;
}
info.setText(drawingText.getText());
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockTitleCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockTitle currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockTitleCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockTitle block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockTitle tL_pageBlockTitle = this.currentBlock;
if (tL_pageBlockTitle != null) {
i = 0;
if (((TLRPC.PageBlock) tL_pageBlockTitle).first) {
i = 0 + AndroidUtilities.dp(8.0f);
this.textY = AndroidUtilities.dp(16.0f);
} else {
this.textY = AndroidUtilities.dp(8.0f);
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, this.currentBlock.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
i += AndroidUtilities.dp(16.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
if (this.textLayout == null) {
return;
}
info.setText(((Object) this.textLayout.getText()) + ", " + LocaleController.getString("AccDescrIVTitle", R.string.AccDescrIVTitle));
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockKickerCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockKicker currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockKickerCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockKicker block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockKicker tL_pageBlockKicker = this.currentBlock;
if (tL_pageBlockKicker != null) {
i = 0;
if (((TLRPC.PageBlock) tL_pageBlockKicker).first) {
this.textY = AndroidUtilities.dp(16.0f);
i = 0 + AndroidUtilities.dp(8.0f);
} else {
this.textY = AndroidUtilities.dp(8.0f);
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, this.currentBlock.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
i += AndroidUtilities.dp(16.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockFooterCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockFooter currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockFooterCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockFooter block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int dp;
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockFooter tL_pageBlockFooter = this.currentBlock;
int i = 0;
if (tL_pageBlockFooter != null) {
if (((TLRPC.PageBlock) tL_pageBlockFooter).level == 0) {
this.textY = AndroidUtilities.dp(8.0f);
this.textX = AndroidUtilities.dp(18.0f);
} else {
this.textY = 0;
this.textX = AndroidUtilities.dp((r14 * 14) + 18);
}
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, this.currentBlock.text, (size - AndroidUtilities.dp(18.0f)) - this.textX, this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
int height = createLayoutForText.getHeight();
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
dp = AndroidUtilities.dp(8.0f);
} else {
dp = AndroidUtilities.dp(16.0f);
}
i = height + dp;
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
if (this.textLayout != null) {
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
if (((TLRPC.PageBlock) this.currentBlock).level > 0) {
canvas.drawRect(AndroidUtilities.dp(18.0f), 0.0f, AndroidUtilities.dp(20.0f), getMeasuredHeight() - (((TLRPC.PageBlock) this.currentBlock).bottom ? AndroidUtilities.dp(6.0f) : 0), ArticleViewer.quoteLinePaint);
}
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public class BlockPreformattedCell extends FrameLayout implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockPreformatted currentBlock;
public WebpageAdapter parentAdapter;
public HorizontalScrollView scrollView;
public View textContainer;
public DrawingText textLayout;
public BlockPreformattedCell(Context context, WebpageAdapter adapter) {
super(context);
this.parentAdapter = adapter;
HorizontalScrollView horizontalScrollView = new HorizontalScrollView(context, ArticleViewer.this) {
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (BlockPreformattedCell.this.textContainer.getMeasuredWidth() > getMeasuredWidth()) {
ArticleViewer.this.windowView.requestDisallowInterceptTouchEvent(true);
}
return super.onInterceptTouchEvent(ev);
}
@Override
public void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (ArticleViewer.this.pressedLinkOwnerLayout != null) {
ArticleViewer.this.pressedLinkOwnerLayout = null;
ArticleViewer.this.pressedLinkOwnerView = null;
}
}
};
this.scrollView = horizontalScrollView;
horizontalScrollView.setPadding(0, AndroidUtilities.dp(8.0f), 0, AndroidUtilities.dp(8.0f));
addView(this.scrollView, LayoutHelper.createFrame(-1, -2.0f));
this.textContainer = new View(context, ArticleViewer.this) {
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int i = 0;
int i2 = 1;
if (BlockPreformattedCell.this.currentBlock != null) {
BlockPreformattedCell blockPreformattedCell = BlockPreformattedCell.this;
blockPreformattedCell.textLayout = ArticleViewer.this.createLayoutForText(this, null, blockPreformattedCell.currentBlock.text, AndroidUtilities.dp(5000.0f), 0, BlockPreformattedCell.this.currentBlock, BlockPreformattedCell.this.parentAdapter);
if (BlockPreformattedCell.this.textLayout != null) {
int height = BlockPreformattedCell.this.textLayout.getHeight() + 0;
int lineCount = BlockPreformattedCell.this.textLayout.getLineCount();
while (i < lineCount) {
i2 = Math.max((int) Math.ceil(BlockPreformattedCell.this.textLayout.getLineWidth(i)), i2);
i++;
}
i = height;
}
} else {
i = 1;
}
setMeasuredDimension(i2 + AndroidUtilities.dp(32.0f), i);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
BlockPreformattedCell blockPreformattedCell = BlockPreformattedCell.this;
ArticleViewer articleViewer = ArticleViewer.this;
WebpageAdapter webpageAdapter = blockPreformattedCell.parentAdapter;
BlockPreformattedCell blockPreformattedCell2 = BlockPreformattedCell.this;
return articleViewer.checkLayoutForLinks(webpageAdapter, event, blockPreformattedCell2, blockPreformattedCell2.textLayout, 0, 0) || super.onTouchEvent(event);
}
@Override
public void onDraw(Canvas canvas) {
if (BlockPreformattedCell.this.textLayout != null) {
canvas.save();
BlockPreformattedCell blockPreformattedCell = BlockPreformattedCell.this;
ArticleViewer.this.drawTextSelection(canvas, blockPreformattedCell);
BlockPreformattedCell.this.textLayout.draw(canvas, this);
canvas.restore();
BlockPreformattedCell.this.textLayout.x = (int) getX();
BlockPreformattedCell.this.textLayout.y = (int) getY();
}
}
};
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(-2, -1);
int dp = AndroidUtilities.dp(16.0f);
layoutParams.rightMargin = dp;
layoutParams.leftMargin = dp;
int dp2 = AndroidUtilities.dp(12.0f);
layoutParams.bottomMargin = dp2;
layoutParams.topMargin = dp2;
this.scrollView.addView(this.textContainer, layoutParams);
if (Build.VERSION.SDK_INT >= 23) {
this.scrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public final void onScrollChange(View view, int i, int i2, int i3, int i4) {
ArticleViewer.BlockPreformattedCell.this.lambda$new$0(view, i, i2, i3, i4);
}
});
}
setWillNotDraw(false);
}
public void lambda$new$0(View view, int i, int i2, int i3, int i4) {
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper = ArticleViewer.this.textSelectionHelper;
if (articleTextSelectionHelper == null || !articleTextSelectionHelper.isInSelectionMode()) {
return;
}
ArticleViewer.this.textSelectionHelper.invalidate();
}
public void setBlock(TLRPC.TL_pageBlockPreformatted block) {
this.currentBlock = block;
this.scrollView.setScrollX(0);
this.textContainer.requestLayout();
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
this.scrollView.measure(View.MeasureSpec.makeMeasureSpec(size, 1073741824), View.MeasureSpec.makeMeasureSpec(0, 0));
setMeasuredDimension(size, this.scrollView.getMeasuredHeight());
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null) {
return;
}
canvas.drawRect(0.0f, AndroidUtilities.dp(8.0f), getMeasuredWidth(), getMeasuredHeight() - AndroidUtilities.dp(8.0f), ArticleViewer.preformattedBackgroundPaint);
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
@Override
public void invalidate() {
this.textContainer.invalidate();
super.invalidate();
}
}
public class BlockSubheaderCell extends View implements TextSelectionHelper.ArticleSelectableView {
public TLRPC.TL_pageBlockSubheader currentBlock;
public WebpageAdapter parentAdapter;
public DrawingText textLayout;
public int textX;
public int textY;
public BlockSubheaderCell(Context context, WebpageAdapter adapter) {
super(context);
this.textX = AndroidUtilities.dp(18.0f);
this.textY = AndroidUtilities.dp(8.0f);
this.parentAdapter = adapter;
}
public void setBlock(TLRPC.TL_pageBlockSubheader block) {
this.currentBlock = block;
requestLayout();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return ArticleViewer.this.checkLayoutForLinks(this.parentAdapter, event, this, this.textLayout, this.textX, this.textY) || super.onTouchEvent(event);
}
@Override
@SuppressLint({"NewApi"})
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int size = View.MeasureSpec.getSize(widthMeasureSpec);
TLRPC.TL_pageBlockSubheader tL_pageBlockSubheader = this.currentBlock;
int i = 0;
if (tL_pageBlockSubheader != null) {
DrawingText createLayoutForText = ArticleViewer.this.createLayoutForText(this, null, tL_pageBlockSubheader.text, size - AndroidUtilities.dp(36.0f), this.textY, this.currentBlock, this.parentAdapter.isRtl ? StaticLayoutEx.ALIGN_RIGHT() : Layout.Alignment.ALIGN_NORMAL, this.parentAdapter);
this.textLayout = createLayoutForText;
if (createLayoutForText != null) {
i = 0 + AndroidUtilities.dp(16.0f) + this.textLayout.getHeight();
DrawingText drawingText = this.textLayout;
drawingText.x = this.textX;
drawingText.y = this.textY;
}
} else {
i = 1;
}
setMeasuredDimension(size, i);
}
@Override
public void onDraw(Canvas canvas) {
if (this.currentBlock == null || this.textLayout == null) {
return;
}
canvas.save();
canvas.translate(this.textX, this.textY);
ArticleViewer.this.drawTextSelection(canvas, this);
this.textLayout.draw(canvas, this);
canvas.restore();
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setEnabled(true);
if (this.textLayout == null) {
return;
}
info.setText(((Object) this.textLayout.getText()) + ", " + LocaleController.getString("AccDescrIVHeading", R.string.AccDescrIVHeading));
}
@Override
public void fillTextLayoutBlocks(ArrayList<TextSelectionHelper.TextLayoutBlock> blocks) {
DrawingText drawingText = this.textLayout;
if (drawingText != null) {
blocks.add(drawingText);
}
}
}
public static class ReportCell extends FrameLayout {
public boolean hasViews;
public TextView textView;
public TextView viewsTextView;
public ReportCell(Context context) {
super(context);
setTag(90);
TextView textView = new TextView(context);
this.textView = textView;
textView.setText(LocaleController.getString("PreviewFeedback2", R.string.PreviewFeedback2));
this.textView.setTextSize(1, 12.0f);
this.textView.setGravity(17);
this.textView.setPadding(AndroidUtilities.dp(18.0f), 0, AndroidUtilities.dp(18.0f), 0);
addView(this.textView, LayoutHelper.createFrame(-1, 34.0f, 51, 0.0f, 10.0f, 0.0f, 0.0f));
TextView textView2 = new TextView(context);
this.viewsTextView = textView2;
textView2.setTextSize(1, 12.0f);
this.viewsTextView.setGravity(19);
this.viewsTextView.setPadding(AndroidUtilities.dp(18.0f), 0, AndroidUtilities.dp(18.0f), 0);
addView(this.viewsTextView, LayoutHelper.createFrame(-1, 34.0f, 51, 0.0f, 10.0f, 0.0f, 0.0f));
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(44.0f), 1073741824));
}
public void setViews(int count) {
if (count == 0) {
this.hasViews = false;
this.viewsTextView.setVisibility(8);
this.textView.setGravity(17);
} else {
this.hasViews = true;
this.viewsTextView.setVisibility(0);
this.textView.setGravity(21);
this.viewsTextView.setText(LocaleController.formatPluralStringComma("Views", count));
}
int color = Theme.getColor(Theme.key_switchTrack);
this.textView.setTextColor(ArticleViewer.getGrayTextColor());
this.viewsTextView.setTextColor(ArticleViewer.getGrayTextColor());
this.textView.setBackgroundColor(Color.argb(34, Color.red(color), Color.green(color), Color.blue(color)));
}
}
public final void drawTextSelection(Canvas canvas, TextSelectionHelper.ArticleSelectableView view) {
drawTextSelection(canvas, view, 0);
}
public final void drawTextSelection(Canvas canvas, TextSelectionHelper.ArticleSelectableView view, int i) {
TextSelectionHelper.ArticleTextSelectionHelper articleTextSelectionHelper;
View view2 = (View) view;
if (view2.getTag() != null && view2.getTag() == "bottomSheet" && (articleTextSelectionHelper = this.textSelectionHelperBottomSheet) != null) {
articleTextSelectionHelper.draw(canvas, view, i);
} else {
this.textSelectionHelper.draw(canvas, view, i);
}
}
public boolean openPhoto(TLRPC.PageBlock block, WebpageAdapter adapter) {
ArrayList arrayList;
int indexOf;
BaseFragment baseFragment = this.parentFragment;
if (baseFragment != null && baseFragment.getParentActivity() != null) {
if (!(block instanceof TLRPC.TL_pageBlockVideo) || WebPageUtils.isVideo(adapter.currentPage, block)) {
arrayList = new ArrayList(adapter.photoBlocks);
indexOf = adapter.photoBlocks.indexOf(block);
} else {
arrayList = Collections.singletonList(block);
indexOf = 0;
}
PhotoViewer photoViewer = PhotoViewer.getInstance();
photoViewer.setParentActivity(this.parentFragment);
if (photoViewer.openPhoto(indexOf, new RealPageBlocksAdapter(adapter.currentPage, arrayList), new PageBlocksPhotoViewerProvider(arrayList))) {
checkVideoPlayer();
return true;
}
}
return false;
}
public class RealPageBlocksAdapter implements PhotoViewer.PageBlocksAdapter {
public final TLRPC.WebPage page;
public final List<TLRPC.PageBlock> pageBlocks;
public RealPageBlocksAdapter(TLRPC.WebPage page, List<TLRPC.PageBlock> pageBlocks) {
this.page = page;
this.pageBlocks = pageBlocks;
}
@Override
public int getItemsCount() {
return this.pageBlocks.size();
}
@Override
public TLRPC.PageBlock get(int index) {
return this.pageBlocks.get(index);
}
@Override
public List<TLRPC.PageBlock> getAll() {
return this.pageBlocks;
}
@Override
public boolean isVideo(int index) {
return index < this.pageBlocks.size() && index >= 0 && WebPageUtils.isVideo(this.page, get(index));
}
@Override
public boolean isHardwarePlayer(int index) {
return index < this.pageBlocks.size() && index >= 0 && !WebPageUtils.isVideo(this.page, get(index)) && ArticleViewer.this.adapter[0].getTypeForBlock(get(index)) == 5;
}
@Override
public TLObject getMedia(int index) {
if (index >= this.pageBlocks.size() || index < 0) {
return null;
}
return WebPageUtils.getMedia(this.page, get(index));
}
@Override
public File getFile(int index) {
if (index >= this.pageBlocks.size() || index < 0) {
return null;
}
return WebPageUtils.getMediaFile(this.page, get(index));
}
@Override
public String getFileName(int index) {
TLRPC.PhotoSize media = getMedia(index);
if (media instanceof TLRPC.Photo) {
media = FileLoader.getClosestPhotoSizeWithSize(((TLRPC.Photo) media).sizes, AndroidUtilities.getPhotoSize());
}
return FileLoader.getAttachFileName(media);
}
@Override
public java.lang.CharSequence getCaption(int r9) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.ArticleViewer.RealPageBlocksAdapter.getCaption(int):java.lang.CharSequence");
}
@Override
public TLRPC.PhotoSize getFileLocation(TLObject media, int[] size) {
TLRPC.PhotoSize closestPhotoSizeWithSize;
if (media instanceof TLRPC.Photo) {
TLRPC.PhotoSize closestPhotoSizeWithSize2 = FileLoader.getClosestPhotoSizeWithSize(((TLRPC.Photo) media).sizes, AndroidUtilities.getPhotoSize());
if (closestPhotoSizeWithSize2 != null) {
size[0] = closestPhotoSizeWithSize2.size;
if (size[0] == 0) {
size[0] = -1;
}
return closestPhotoSizeWithSize2;
}
size[0] = -1;
return null;
}
if (!(media instanceof TLRPC.Document) || (closestPhotoSizeWithSize = FileLoader.getClosestPhotoSizeWithSize(((TLRPC.Document) media).thumbs, 90)) == null) {
return null;
}
size[0] = closestPhotoSizeWithSize.size;
if (size[0] == 0) {
size[0] = -1;
}
return closestPhotoSizeWithSize;
}
@Override
public void updateSlideshowCell(TLRPC.PageBlock currentPageBlock) {
int childCount = ArticleViewer.this.listView[0].getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = ArticleViewer.this.listView[0].getChildAt(i);
if (childAt instanceof BlockSlideshowCell) {
BlockSlideshowCell blockSlideshowCell = (BlockSlideshowCell) childAt;
int indexOf = blockSlideshowCell.currentBlock.items.indexOf(currentPageBlock);
if (indexOf != -1) {
blockSlideshowCell.innerListView.setCurrentItem(indexOf, false);
return;
}
}
}
}
@Override
public Object getParentObject() {
return this.page;
}
}
public class PageBlocksPhotoViewerProvider extends PhotoViewer.EmptyPhotoViewerProvider {
public final List<TLRPC.PageBlock> pageBlocks;
public final int[] tempArr = new int[2];
public PageBlocksPhotoViewerProvider(List<TLRPC.PageBlock> pageBlocks) {
this.pageBlocks = pageBlocks;
}
@Override
public PhotoViewer.PlaceProviderObject getPlaceForPhoto(MessageObject messageObject, TLRPC.FileLocation fileLocation, int index, boolean needPreview) {
ImageReceiver imageReceiverFromListView;
if (index < 0 || index >= this.pageBlocks.size() || (imageReceiverFromListView = getImageReceiverFromListView(ArticleViewer.this.listView[0], this.pageBlocks.get(index), this.tempArr)) == null) {
return null;
}
PhotoViewer.PlaceProviderObject placeProviderObject = new PhotoViewer.PlaceProviderObject();
int[] iArr = this.tempArr;
placeProviderObject.viewX = iArr[0];
placeProviderObject.viewY = iArr[1];
placeProviderObject.parentView = ArticleViewer.this.listView[0];
placeProviderObject.imageReceiver = imageReceiverFromListView;
placeProviderObject.thumb = imageReceiverFromListView.getBitmapSafe();
placeProviderObject.radius = imageReceiverFromListView.getRoundRadius(true);
placeProviderObject.clipTopAddition = ArticleViewer.this.currentHeaderHeight;
return placeProviderObject;
}
public final ImageReceiver getImageReceiverFromListView(ViewGroup listView, TLRPC.PageBlock pageBlock, int[] coords) {
int childCount = listView.getChildCount();
for (int i = 0; i < childCount; i++) {
ImageReceiver imageReceiverView = getImageReceiverView(listView.getChildAt(i), pageBlock, coords);
if (imageReceiverView != null) {
return imageReceiverView;
}
}
return null;
}
public final ImageReceiver getImageReceiverView(View view, TLRPC.PageBlock pageBlock, int[] coords) {
ImageReceiver imageReceiverView;
ImageReceiver imageReceiverView2;
VideoPlayerHolderBase videoPlayerHolderBase;
if (view instanceof BlockPhotoCell) {
BlockPhotoCell blockPhotoCell = (BlockPhotoCell) view;
if (blockPhotoCell.currentBlock != pageBlock) {
return null;
}
view.getLocationInWindow(coords);
return blockPhotoCell.imageView;
}
if (view instanceof BlockVideoCell) {
BlockVideoCell blockVideoCell = (BlockVideoCell) view;
if (blockVideoCell.currentBlock != pageBlock) {
return null;
}
view.getLocationInWindow(coords);
ArticleViewer articleViewer = ArticleViewer.this;
if (blockVideoCell == articleViewer.currentPlayer && (videoPlayerHolderBase = articleViewer.videoPlayer) != null && videoPlayerHolderBase.firstFrameRendered && blockVideoCell.textureView.getSurfaceTexture() != null) {
if (Build.VERSION.SDK_INT >= 24) {
Surface surface = new Surface(blockVideoCell.textureView.getSurfaceTexture());
Bitmap createBitmap = Bitmap.createBitmap(blockVideoCell.textureView.getMeasuredWidth(), blockVideoCell.textureView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
AndroidUtilities.getBitmapFromSurface(surface, createBitmap);
surface.release();
blockVideoCell.imageView.setImageBitmap(createBitmap);
} else {
blockVideoCell.imageView.setImageBitmap(blockVideoCell.textureView.getBitmap());
}
blockVideoCell.firstFrameRendered = false;
blockVideoCell.textureView.setAlpha(0.0f);
}
return blockVideoCell.imageView;
}
if (view instanceof BlockCollageCell) {
ImageReceiver imageReceiverFromListView = getImageReceiverFromListView(((BlockCollageCell) view).innerListView, pageBlock, coords);
if (imageReceiverFromListView != null) {
return imageReceiverFromListView;
}
return null;
}
if (view instanceof BlockSlideshowCell) {
ImageReceiver imageReceiverFromListView2 = getImageReceiverFromListView(((BlockSlideshowCell) view).innerListView, pageBlock, coords);
if (imageReceiverFromListView2 != null) {
return imageReceiverFromListView2;
}
return null;
}
if (view instanceof BlockListItemCell) {
BlockListItemCell blockListItemCell = (BlockListItemCell) view;
if (blockListItemCell.blockLayout == null || (imageReceiverView2 = getImageReceiverView(blockListItemCell.blockLayout.itemView, pageBlock, coords)) == null) {
return null;
}
return imageReceiverView2;
}
if (!(view instanceof BlockOrderedListItemCell)) {
return null;
}
BlockOrderedListItemCell blockOrderedListItemCell = (BlockOrderedListItemCell) view;
if (blockOrderedListItemCell.blockLayout == null || (imageReceiverView = getImageReceiverView(blockOrderedListItemCell.blockLayout.itemView, pageBlock, coords)) == null) {
return null;
}
return imageReceiverView;
}
@Override
public void onClose() {
super.onClose();
ArticleViewer.this.checkVideoPlayer();
}
@Override
public void onReleasePlayerBeforeClose(int photoIndex) {
TLRPC.PageBlock pageBlock = (photoIndex < 0 || photoIndex >= this.pageBlocks.size()) ? null : this.pageBlocks.get(photoIndex);
VideoPlayer videoPlayer = PhotoViewer.getInstance().getVideoPlayer();
TextureView videoTextureView = PhotoViewer.getInstance().getVideoTextureView();
SurfaceView videoSurfaceView = PhotoViewer.getInstance().getVideoSurfaceView();
BlockVideoCell viewFromListView = getViewFromListView(ArticleViewer.this.listView[0], pageBlock);
if (viewFromListView != null && videoPlayer != null && videoTextureView != null) {
ArticleViewer.this.videoStates.put(viewFromListView.currentBlock.video_id, viewFromListView.setState(BlockVideoCellState.fromPlayer(videoPlayer, viewFromListView, videoTextureView)));
viewFromListView.firstFrameRendered = false;
viewFromListView.textureView.setAlpha(0.0f);
if (viewFromListView.videoState != null && viewFromListView.videoState.lastFrameBitmap != null) {
viewFromListView.imageView.setImageBitmap(viewFromListView.videoState.lastFrameBitmap);
}
}
if (viewFromListView != null && videoPlayer != null && videoSurfaceView != null) {
ArticleViewer.this.videoStates.put(viewFromListView.currentBlock.video_id, viewFromListView.setState(BlockVideoCellState.fromPlayer(videoPlayer, viewFromListView, videoSurfaceView)));
viewFromListView.firstFrameRendered = false;
viewFromListView.textureView.setAlpha(0.0f);
if (viewFromListView.videoState != null && viewFromListView.videoState.lastFrameBitmap != null) {
viewFromListView.imageView.setImageBitmap(viewFromListView.videoState.lastFrameBitmap);
}
}
ArticleViewer.this.checkVideoPlayer();
}
public final BlockVideoCell getViewFromListView(ViewGroup listView, TLRPC.PageBlock pageBlock) {
int childCount = listView.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = listView.getChildAt(i);
if (childAt instanceof BlockVideoCell) {
BlockVideoCell blockVideoCell = (BlockVideoCell) childAt;
if (blockVideoCell.currentBlock == pageBlock) {
return blockVideoCell;
}
}
}
return null;
}
}
}