正在查看: Telegram v11.13.0 应用的 ChatAttachAlertLocationLayout.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Telegram v11.13.0 应用的 ChatAttachAlertLocationLayout.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.ui.Components;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationManager;
import android.media.ExifInterface;
import android.media.MediaMetadataRetriever;
import android.os.Build;
import android.text.TextUtils;
import android.util.Property;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.OvershootInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.core.util.Consumer;
import androidx.recyclerview.widget.RecyclerView;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.DialogObject;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.IMapsProvider;
import org.telegram.messenger.IMapsProvider$CameraPosition;
import org.telegram.messenger.IMapsProvider$ICallableMethod;
import org.telegram.messenger.IMapsProvider$ICameraUpdate;
import org.telegram.messenger.IMapsProvider$IMap;
import org.telegram.messenger.IMapsProvider$IMapView;
import org.telegram.messenger.IMapsProvider$IMarker;
import org.telegram.messenger.IMapsProvider$IMarkerOptions;
import org.telegram.messenger.IMapsProvider$IProjection;
import org.telegram.messenger.IMapsProvider$LatLng;
import org.telegram.messenger.IMapsProvider$OnCameraMoveStartedListener;
import org.telegram.messenger.IMapsProvider$OnMarkerClickListener;
import org.telegram.messenger.LocaleController;
import org.telegram.messenger.LocationController;
import org.telegram.messenger.MessagesController;
import org.telegram.messenger.MessagesStorage;
import org.telegram.messenger.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.messenger.UserConfig;
import org.telegram.messenger.Utilities;
import org.telegram.tgnet.TLRPC;
import org.telegram.ui.ActionBar.ActionBar;
import org.telegram.ui.ActionBar.ActionBarMenuItem;
import org.telegram.ui.ActionBar.AlertDialog;
import org.telegram.ui.ActionBar.BaseFragment;
import org.telegram.ui.ActionBar.Theme;
import org.telegram.ui.ActionBar.ThemeDescription;
import org.telegram.ui.Adapters.LocationActivityAdapter;
import org.telegram.ui.Adapters.LocationActivitySearchAdapter;
import org.telegram.ui.Cells.HeaderCell;
import org.telegram.ui.Cells.LocationCell;
import org.telegram.ui.Cells.LocationDirectionCell;
import org.telegram.ui.Cells.LocationLoadingCell;
import org.telegram.ui.Cells.LocationPoweredCell;
import org.telegram.ui.Cells.SendLocationCell;
import org.telegram.ui.Cells.ShadowSectionCell;
import org.telegram.ui.Cells.SharingLiveLocationCell;
import org.telegram.ui.ChatActivity;
import org.telegram.ui.Components.AlertsCreator;
import org.telegram.ui.Components.ChatAttachAlert;
import org.telegram.ui.Components.ChatAttachAlertLocationLayout;
import org.telegram.ui.Components.RecyclerListView;
public class ChatAttachAlertLocationLayout extends ChatAttachAlert.AttachAlertLayout implements NotificationCenter.NotificationCenterDelegate {
private LocationActivityAdapter adapter;
private AnimatorSet animatorSet;
private boolean askedForLocation;
private Paint backgroundPaint;
private Bitmap[] bitmapCache;
private boolean checkBackgroundPermission;
private boolean checkGpsEnabled;
private boolean checkPermission;
private int clipSize;
private boolean currentMapStyleDark;
private LocationActivityDelegate delegate;
private long dialogId;
private boolean doNotDrawMap;
private ImageView emptyImageView;
private TextView emptySubtitleTextView;
private TextView emptyTitleTextView;
private LinearLayout emptyView;
private boolean first;
private boolean firstFocus;
private boolean firstWas;
private IMapsProvider$ICameraUpdate forceUpdate;
private boolean ignoreIdleCamera;
private boolean ignoreLayout;
private boolean isFirstLocation;
private IMapsProvider$IMarker lastPressedMarker;
private FrameLayout lastPressedMarkerView;
private VenueLocation lastPressedVenue;
private FillLastLinearLayoutManager layoutManager;
private RecyclerListView listView;
private View loadingMapView;
private ImageView locationButton;
private boolean locationDenied;
private int locationType;
private IMapsProvider$IMap map;
private int mapHeight;
private ActionBarMenuItem mapTypeButton;
private IMapsProvider$IMapView mapView;
private FrameLayout mapViewClip;
private boolean mapsInitialized;
private ImageView markerImageView;
private int markerTop;
private Location myLocation;
private int nonClipSize;
private boolean onResumeCalled;
private ActionBarMenuItem otherItem;
private int overScrollHeight;
private MapOverlayView overlayView;
private ArrayList placeMarkers;
private boolean scrolling;
private LocationActivitySearchAdapter searchAdapter;
private SearchButton searchAreaButton;
private boolean searchInProgress;
private ActionBarMenuItem searchItem;
private RecyclerListView searchListView;
private boolean searchWas;
private boolean searchedForCustomLocations;
private boolean searching;
private Location userLocation;
private boolean userLocationMoved;
private float yOffset;
public interface LocationActivityDelegate {
void didSelectLocation(TLRPC.MessageMedia messageMedia, int i, boolean z, int i2, long j);
}
public class MapOverlayView extends FrameLayout {
private HashMap views;
public MapOverlayView(Context context) {
super(context);
this.views = new HashMap();
}
public void lambda$addInfoView$0(VenueLocation venueLocation, boolean z, int i) {
ChatAttachAlertLocationLayout.this.delegate.didSelectLocation(venueLocation.venue, ChatAttachAlertLocationLayout.this.locationType, z, i, 0L);
ChatAttachAlertLocationLayout.this.parentAlert.dismiss(true);
}
public void lambda$addInfoView$1(VenueLocation venueLocation, Long l) {
ChatAttachAlertLocationLayout.this.delegate.didSelectLocation(venueLocation.venue, ChatAttachAlertLocationLayout.this.locationType, true, 0, l.longValue());
ChatAttachAlertLocationLayout.this.parentAlert.dismiss(true);
}
public void lambda$addInfoView$2(final VenueLocation venueLocation, View view) {
ChatActivity chatActivity = ChatAttachAlertLocationLayout.this.parentAlert.baseFragment;
if (chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(ChatAttachAlertLocationLayout.this.getParentActivity(), chatActivity.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
@Override
public final void didSelectDate(boolean z, int i) {
ChatAttachAlertLocationLayout.MapOverlayView.this.lambda$addInfoView$0(venueLocation, z, i);
}
}, ChatAttachAlertLocationLayout.this.resourcesProvider);
} else {
ChatAttachAlert chatAttachAlert = ChatAttachAlertLocationLayout.this.parentAlert;
AlertsCreator.ensurePaidMessageConfirmation(chatAttachAlert.currentAccount, chatAttachAlert.getDialogId(), ChatAttachAlertLocationLayout.this.parentAlert.getAdditionalMessagesCount() + 1, new Utilities.Callback() {
@Override
public final void run(Object obj) {
ChatAttachAlertLocationLayout.MapOverlayView.this.lambda$addInfoView$1(venueLocation, (Long) obj);
}
});
}
}
public void addInfoView(IMapsProvider$IMarker iMapsProvider$IMarker) {
final VenueLocation venueLocation = (VenueLocation) iMapsProvider$IMarker.getTag();
if (ChatAttachAlertLocationLayout.this.lastPressedVenue == venueLocation) {
return;
}
ChatAttachAlertLocationLayout.this.showSearchPlacesButton(false);
if (ChatAttachAlertLocationLayout.this.lastPressedMarker != null) {
removeInfoView(ChatAttachAlertLocationLayout.this.lastPressedMarker);
ChatAttachAlertLocationLayout.this.lastPressedMarker = null;
}
ChatAttachAlertLocationLayout.this.lastPressedVenue = venueLocation;
ChatAttachAlertLocationLayout.this.lastPressedMarker = iMapsProvider$IMarker;
Context context = getContext();
FrameLayout frameLayout = new FrameLayout(context);
addView(frameLayout, LayoutHelper.createFrame(-2, 114.0f));
ChatAttachAlertLocationLayout.this.lastPressedMarkerView = new FrameLayout(context);
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.setBackgroundResource(R.drawable.venue_tooltip);
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.getBackground().setColorFilter(new PorterDuffColorFilter(ChatAttachAlertLocationLayout.this.getThemedColor(Theme.key_dialogBackground), PorterDuff.Mode.MULTIPLY));
frameLayout.addView(ChatAttachAlertLocationLayout.this.lastPressedMarkerView, LayoutHelper.createFrame(-2, 71.0f));
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.setAlpha(0.0f);
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
ChatAttachAlertLocationLayout.MapOverlayView.this.lambda$addInfoView$2(venueLocation, view);
}
});
TextView textView = new TextView(context);
textView.setTextSize(1, 16.0f);
textView.setMaxLines(1);
TextUtils.TruncateAt truncateAt = TextUtils.TruncateAt.END;
textView.setEllipsize(truncateAt);
textView.setSingleLine(true);
textView.setTextColor(ChatAttachAlertLocationLayout.this.getThemedColor(Theme.key_windowBackgroundWhiteBlackText));
textView.setTypeface(AndroidUtilities.bold());
textView.setGravity(LocaleController.isRTL ? 5 : 3);
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.addView(textView, LayoutHelper.createFrame(-2, -2.0f, (LocaleController.isRTL ? 5 : 3) | 48, 18.0f, 10.0f, 18.0f, 0.0f));
TextView textView2 = new TextView(context);
textView2.setTextSize(1, 14.0f);
textView2.setMaxLines(1);
textView2.setEllipsize(truncateAt);
textView2.setSingleLine(true);
textView2.setTextColor(ChatAttachAlertLocationLayout.this.getThemedColor(Theme.key_windowBackgroundWhiteGrayText3));
textView2.setGravity(LocaleController.isRTL ? 5 : 3);
ChatAttachAlertLocationLayout.this.lastPressedMarkerView.addView(textView2, LayoutHelper.createFrame(-2, -2.0f, (LocaleController.isRTL ? 5 : 3) | 48, 18.0f, 32.0f, 18.0f, 0.0f));
textView.setText(venueLocation.venue.title);
textView2.setText(LocaleController.getString(R.string.TapToSendLocation));
final FrameLayout frameLayout2 = new FrameLayout(context);
frameLayout2.setBackground(Theme.createCircleDrawable(AndroidUtilities.dp(36.0f), LocationCell.getColorForIndex(venueLocation.num)));
frameLayout.addView(frameLayout2, LayoutHelper.createFrame(36, 36.0f, 81, 0.0f, 0.0f, 0.0f, 4.0f));
BackupImageView backupImageView = new BackupImageView(context);
backupImageView.setImage("https://ss3.4sqi.net/img/categories_v2/" + venueLocation.venue.venue_type + "_64.png", null, null);
frameLayout2.addView(backupImageView, LayoutHelper.createFrame(30, 30, 17));
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
private final float[] animatorValues = {0.0f, 1.0f};
private boolean startedInner;
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float lerp = AndroidUtilities.lerp(this.animatorValues, valueAnimator.getAnimatedFraction());
if (lerp >= 0.7f && !this.startedInner && ChatAttachAlertLocationLayout.this.lastPressedMarkerView != null) {
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(ChatAttachAlertLocationLayout.this.lastPressedMarkerView, (Property<FrameLayout, Float>) View.SCALE_X, 0.0f, 1.0f), ObjectAnimator.ofFloat(ChatAttachAlertLocationLayout.this.lastPressedMarkerView, (Property<FrameLayout, Float>) View.SCALE_Y, 0.0f, 1.0f), ObjectAnimator.ofFloat(ChatAttachAlertLocationLayout.this.lastPressedMarkerView, (Property<FrameLayout, Float>) View.ALPHA, 0.0f, 1.0f));
animatorSet.setInterpolator(new OvershootInterpolator(1.02f));
animatorSet.setDuration(250L);
animatorSet.start();
this.startedInner = true;
}
float interpolation = lerp <= 0.5f ? CubicBezierInterpolator.EASE_OUT.getInterpolation(lerp / 0.5f) * 1.1f : lerp <= 0.75f ? 1.1f - (CubicBezierInterpolator.EASE_OUT.getInterpolation((lerp - 0.5f) / 0.25f) * 0.2f) : (CubicBezierInterpolator.EASE_OUT.getInterpolation((lerp - 0.75f) / 0.25f) * 0.1f) + 0.9f;
frameLayout2.setScaleX(interpolation);
frameLayout2.setScaleY(interpolation);
}
});
ofFloat.setDuration(360L);
ofFloat.start();
this.views.put(iMapsProvider$IMarker, frameLayout);
ChatAttachAlertLocationLayout.this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(iMapsProvider$IMarker.getPosition()), NotificationCenter.chatSwitchedForum, null);
}
public void removeInfoView(IMapsProvider$IMarker iMapsProvider$IMarker) {
View view = (View) this.views.get(iMapsProvider$IMarker);
if (view != null) {
removeView(view);
this.views.remove(iMapsProvider$IMarker);
}
}
public void updatePositions() {
if (ChatAttachAlertLocationLayout.this.map == null) {
return;
}
IMapsProvider$IProjection projection = ChatAttachAlertLocationLayout.this.map.getProjection();
for (Map.Entry entry : this.views.entrySet()) {
IMapsProvider$IMarker iMapsProvider$IMarker = (IMapsProvider$IMarker) entry.getKey();
View view = (View) entry.getValue();
android.graphics.Point screenLocation = projection.toScreenLocation(iMapsProvider$IMarker.getPosition());
view.setTranslationX(screenLocation.x - (view.getMeasuredWidth() / 2));
view.setTranslationY((screenLocation.y - view.getMeasuredHeight()) + AndroidUtilities.dp(22.0f));
}
}
}
private static class SearchButton extends TextView {
private float additionanTranslationY;
private float currentTranslationY;
public SearchButton(Context context) {
super(context);
}
private void updateTranslationY() {
setTranslationY(this.currentTranslationY + this.additionanTranslationY);
}
@Override
public float getTranslationX() {
return this.additionanTranslationY;
}
public void setTranslation(float f) {
this.currentTranslationY = f;
updateTranslationY();
}
@Override
public void setTranslationX(float f) {
this.additionanTranslationY = f;
updateTranslationY();
}
}
public static class VenueLocation {
public IMapsProvider$IMarker marker;
public int num;
public TLRPC.TL_messageMediaVenue venue;
}
public ChatAttachAlertLocationLayout(org.telegram.ui.Components.ChatAttachAlert r35, android.content.Context r36, final org.telegram.ui.ActionBar.Theme.ResourcesProvider r37) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.Components.ChatAttachAlertLocationLayout.<init>(org.telegram.ui.Components.ChatAttachAlert, android.content.Context, org.telegram.ui.ActionBar.Theme$ResourcesProvider):void");
}
static float access$2916(ChatAttachAlertLocationLayout chatAttachAlertLocationLayout, float f) {
float f2 = chatAttachAlertLocationLayout.yOffset + f;
chatAttachAlertLocationLayout.yOffset = f2;
return f2;
}
private int buttonsHeight() {
int dp = AndroidUtilities.dp(66.0f);
int i = this.locationType;
return (i == 1 || i == 7 || i == 8) ? dp + AndroidUtilities.dp(66.0f) : dp;
}
private Bitmap createPlaceBitmap(int i) {
Bitmap bitmap = this.bitmapCache[i % 7];
if (bitmap != null) {
return bitmap;
}
try {
Paint paint = new Paint(1);
paint.setColor(-1);
Bitmap createBitmap = Bitmap.createBitmap(AndroidUtilities.dp(12.0f), AndroidUtilities.dp(12.0f), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(createBitmap);
canvas.drawCircle(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f), paint);
paint.setColor(LocationCell.getColorForIndex(i));
canvas.drawCircle(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f), AndroidUtilities.dp(5.0f), paint);
canvas.setBitmap(null);
this.bitmapCache[i % 7] = createBitmap;
return createBitmap;
} catch (Throwable th) {
FileLog.e(th);
return null;
}
}
private void fixLayoutInternal(boolean z) {
FrameLayout.LayoutParams layoutParams;
if (getMeasuredHeight() == 0 || this.mapView == null) {
return;
}
int currentActionBarHeight = ActionBar.getCurrentActionBarHeight();
int buttonsHeight = ((AndroidUtilities.displaySize.y - currentActionBarHeight) - buttonsHeight()) - AndroidUtilities.dp(90.0f);
int dp = AndroidUtilities.dp(189.0f);
this.overScrollHeight = dp;
if (!this.locationDenied || !isTypeSend()) {
buttonsHeight = Math.min(AndroidUtilities.dp(310.0f), buttonsHeight);
}
this.mapHeight = Math.max(dp, buttonsHeight);
if (this.locationDenied && isTypeSend()) {
this.overScrollHeight = this.mapHeight;
}
FrameLayout.LayoutParams layoutParams2 = (FrameLayout.LayoutParams) this.listView.getLayoutParams();
layoutParams2.topMargin = currentActionBarHeight;
this.listView.setLayoutParams(layoutParams2);
FrameLayout.LayoutParams layoutParams3 = (FrameLayout.LayoutParams) this.mapViewClip.getLayoutParams();
layoutParams3.topMargin = currentActionBarHeight;
layoutParams3.height = this.mapHeight;
this.mapViewClip.setLayoutParams(layoutParams3);
FrameLayout.LayoutParams layoutParams4 = (FrameLayout.LayoutParams) this.searchListView.getLayoutParams();
layoutParams4.topMargin = currentActionBarHeight;
this.searchListView.setLayoutParams(layoutParams4);
this.adapter.setOverScrollHeight((this.locationDenied && isTypeSend()) ? this.overScrollHeight - this.listView.getPaddingTop() : this.overScrollHeight);
FrameLayout.LayoutParams layoutParams5 = (FrameLayout.LayoutParams) this.mapView.getView().getLayoutParams();
if (layoutParams5 != null) {
layoutParams5.height = this.mapHeight + AndroidUtilities.dp(10.0f);
this.mapView.getView().setLayoutParams(layoutParams5);
}
MapOverlayView mapOverlayView = this.overlayView;
if (mapOverlayView != null && (layoutParams = (FrameLayout.LayoutParams) mapOverlayView.getLayoutParams()) != null) {
layoutParams.height = this.mapHeight + AndroidUtilities.dp(10.0f);
this.overlayView.setLayoutParams(layoutParams);
}
this.adapter.notifyDataSetChanged();
updateClipView();
}
private Location getLastLocation() {
LocationManager locationManager = (LocationManager) ApplicationLoader.applicationContext.getSystemService("location");
List<String> providers = locationManager.getProviders(true);
Location location = null;
for (int size = providers.size() - 1; size >= 0; size--) {
location = locationManager.getLastKnownLocation(providers.get(size));
if (location != null) {
break;
}
}
return location;
}
private LocationController getLocationController() {
return this.parentAlert.baseFragment.getLocationController();
}
private MessagesController getMessagesController() {
return this.parentAlert.baseFragment.getMessagesController();
}
public Activity getParentActivity() {
BaseFragment baseFragment;
ChatAttachAlert chatAttachAlert = this.parentAlert;
if (chatAttachAlert == null || (baseFragment = chatAttachAlert.baseFragment) == null) {
return null;
}
return baseFragment.getParentActivity();
}
private UserConfig getUserConfig() {
return this.parentAlert.baseFragment.getUserConfig();
}
private boolean isActiveThemeDark() {
return Theme.getActiveTheme().isDark() || AndroidUtilities.computePerceivedBrightness(getThemedColor(Theme.key_windowBackgroundWhite)) < 0.721f;
}
private boolean isTypeSend() {
int i = this.locationType;
return i == 0 || i == 1;
}
public void lambda$getThemeDescriptions$34() {
this.mapTypeButton.setIconColor(getThemedColor(Theme.key_location_actionIcon));
this.mapTypeButton.redrawPopup(getThemedColor(Theme.key_actionBarDefaultSubmenuBackground));
this.mapTypeButton.setPopupItemsColor(getThemedColor(Theme.key_actionBarDefaultSubmenuItemIcon), true);
this.mapTypeButton.setPopupItemsColor(getThemedColor(Theme.key_actionBarDefaultSubmenuItem), false);
if (this.map != null) {
if (!isActiveThemeDark()) {
if (this.currentMapStyleDark) {
this.currentMapStyleDark = false;
this.map.setMapStyle(null);
return;
}
return;
}
if (this.currentMapStyleDark) {
return;
}
this.currentMapStyleDark = true;
this.map.setMapStyle(ApplicationLoader.getMapsProvider().loadRawResourceStyle(ApplicationLoader.applicationContext, R.raw.mapstyle_night));
}
}
public void lambda$new$0(View view) {
showSearchPlacesButton(false);
this.adapter.searchPlacesWithQuery((String) null, this.userLocation, true, true);
this.searchedForCustomLocations = true;
showResults();
}
public void lambda$new$1(View view) {
this.mapTypeButton.toggleSubMenu();
}
public boolean lambda$new$10(MotionEvent motionEvent, IMapsProvider$ICallableMethod iMapsProvider$ICallableMethod) {
MotionEvent motionEvent2;
MotionEvent motionEvent3;
if (this.yOffset != 0.0f) {
motionEvent3 = MotionEvent.obtain(motionEvent);
motionEvent3.offsetLocation(0.0f, (-this.yOffset) / 2.0f);
motionEvent2 = motionEvent3;
} else {
motionEvent2 = motionEvent;
motionEvent3 = null;
}
boolean booleanValue = ((Boolean) iMapsProvider$ICallableMethod.call(motionEvent2)).booleanValue();
if (motionEvent3 != null) {
motionEvent3.recycle();
}
return booleanValue;
}
public boolean lambda$new$11(android.view.MotionEvent r8, org.telegram.messenger.IMapsProvider$ICallableMethod r9) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.Components.ChatAttachAlertLocationLayout.lambda$new$11(android.view.MotionEvent, org.telegram.messenger.IMapsProvider$ICallableMethod):boolean");
}
public void lambda$new$12() {
this.loadingMapView.setTag(1);
this.loadingMapView.animate().alpha(0.0f).setDuration(180L).start();
}
public void lambda$new$13() {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$new$12();
}
});
}
public void lambda$new$14(IMapsProvider$IMap iMapsProvider$IMap) {
this.map = iMapsProvider$IMap;
iMapsProvider$IMap.setOnMapLoadedCallback(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$new$13();
}
});
if (isActiveThemeDark()) {
this.currentMapStyleDark = true;
this.map.setMapStyle(ApplicationLoader.getMapsProvider().loadRawResourceStyle(ApplicationLoader.applicationContext, R.raw.mapstyle_night));
}
onMapInit();
}
public void lambda$new$15(IMapsProvider$IMapView iMapsProvider$IMapView) {
if (this.mapView == null || getParentActivity() == null) {
return;
}
try {
iMapsProvider$IMapView.onCreate(null);
ApplicationLoader.getMapsProvider().initializeMaps(ApplicationLoader.applicationContext);
this.mapView.getMapAsync(new Consumer() {
public final void accept(Object obj) {
ChatAttachAlertLocationLayout.this.lambda$new$14((IMapsProvider$IMap) obj);
}
});
this.mapsInitialized = true;
if (this.onResumeCalled) {
this.mapView.onResume();
}
} catch (Exception e) {
FileLog.e(e);
}
}
public void lambda$new$16(final IMapsProvider$IMapView iMapsProvider$IMapView) {
try {
iMapsProvider$IMapView.onCreate(null);
} catch (Exception unused) {
}
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$new$15(iMapsProvider$IMapView);
}
});
}
public void lambda$new$17(ArrayList arrayList) {
this.searchInProgress = false;
updateEmptyView();
}
public void lambda$new$18(TLRPC.TL_messageMediaVenue tL_messageMediaVenue, boolean z, int i) {
this.delegate.didSelectLocation(tL_messageMediaVenue, this.locationType, z, i, 0L);
this.parentAlert.dismiss(true);
}
public void lambda$new$19(ChatActivity chatActivity, Theme.ResourcesProvider resourcesProvider, View view, int i) {
final TLRPC.TL_messageMediaVenue item = this.searchAdapter.getItem(i);
if (item == null || this.delegate == null) {
return;
}
if (chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), chatActivity.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
@Override
public final void didSelectDate(boolean z, int i2) {
ChatAttachAlertLocationLayout.this.lambda$new$18(item, z, i2);
}
}, resourcesProvider);
} else {
this.delegate.didSelectLocation(item, this.locationType, true, 0, 0L);
this.parentAlert.dismiss(true);
}
}
public void lambda$new$2(int i) {
int i2;
IMapsProvider$IMap iMapsProvider$IMap = this.map;
if (iMapsProvider$IMap == null) {
return;
}
if (i == 2) {
i2 = 0;
} else {
if (i != 3) {
if (i == 4) {
iMapsProvider$IMap.setMapType(2);
return;
}
return;
}
i2 = 1;
}
iMapsProvider$IMap.setMapType(i2);
}
public void lambda$new$3(View view) {
Activity parentActivity;
int checkSelfPermission;
if (Build.VERSION.SDK_INT >= 23 && (parentActivity = getParentActivity()) != null) {
checkSelfPermission = parentActivity.checkSelfPermission("android.permission.ACCESS_COARSE_LOCATION");
if (checkSelfPermission != 0) {
AlertsCreator.createLocationRequiredDialog(getParentActivity(), true).show();
return;
}
}
if (this.myLocation != null && this.map != null) {
ImageView imageView = this.locationButton;
int i = Theme.key_location_actionActiveIcon;
imageView.setColorFilter(new PorterDuffColorFilter(getThemedColor(i), PorterDuff.Mode.MULTIPLY));
this.locationButton.setTag(Integer.valueOf(i));
this.adapter.setCustomLocation((Location) null);
this.userLocationMoved = false;
showSearchPlacesButton(false);
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(new IMapsProvider$LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude())));
if (this.searchedForCustomLocations) {
Location location = this.myLocation;
if (location != null && this.locationType != 8) {
this.adapter.searchPlacesWithQuery((String) null, location, true, true);
}
this.searchedForCustomLocations = false;
showResults();
}
}
removeInfoView();
}
public static boolean lambda$new$4(View view, MotionEvent motionEvent) {
return true;
}
public void lambda$new$5(TLRPC.TL_messageMediaGeo tL_messageMediaGeo, Long l, boolean z, int i) {
this.delegate.didSelectLocation(tL_messageMediaGeo, this.locationType, z, i, l.longValue());
this.parentAlert.dismiss(true);
}
public void lambda$new$6(ChatActivity chatActivity, final TLRPC.TL_messageMediaGeo tL_messageMediaGeo, Theme.ResourcesProvider resourcesProvider, final Long l) {
if (chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), chatActivity.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
@Override
public final void didSelectDate(boolean z, int i) {
ChatAttachAlertLocationLayout.this.lambda$new$5(tL_messageMediaGeo, l, z, i);
}
}, resourcesProvider);
} else {
this.delegate.didSelectLocation(tL_messageMediaGeo, this.locationType, true, 0, l.longValue());
this.parentAlert.dismiss(true);
}
}
public void lambda$new$7(Object obj, boolean z, int i) {
this.delegate.didSelectLocation((TLRPC.TL_messageMediaVenue) obj, this.locationType, z, i, 0L);
this.parentAlert.dismiss(true);
}
public void lambda$new$8(ChatActivity chatActivity, final Object obj, Theme.ResourcesProvider resourcesProvider, Long l) {
if (chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), chatActivity.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
@Override
public final void didSelectDate(boolean z, int i) {
ChatAttachAlertLocationLayout.this.lambda$new$7(obj, z, i);
}
}, resourcesProvider);
} else {
this.delegate.didSelectLocation((TLRPC.TL_messageMediaVenue) obj, this.locationType, true, 0, 0L);
this.parentAlert.dismiss(true);
}
}
public void lambda$new$9(final ChatActivity chatActivity, final Theme.ResourcesProvider resourcesProvider, View view, int i) {
TLRPC.TL_messageMediaVenue tL_messageMediaVenue;
int i2 = this.locationType;
if (i2 == 7) {
if ((i == 1 && (tL_messageMediaVenue = this.adapter.city) != null) || (i == 2 && (tL_messageMediaVenue = this.adapter.street) != null)) {
this.delegate.didSelectLocation(tL_messageMediaVenue, i2, true, 0, 0L);
this.parentAlert.dismiss(true);
return;
}
} else {
if (i == 1) {
if (this.delegate == null || this.userLocation == null) {
if (this.locationDenied) {
AlertsCreator.createLocationRequiredDialog(getParentActivity(), true).show();
return;
}
return;
}
FrameLayout frameLayout = this.lastPressedMarkerView;
if (frameLayout != null) {
frameLayout.callOnClick();
return;
}
final TLRPC.TL_messageMediaGeo tL_messageMediaGeo = new TLRPC.TL_messageMediaGeo();
TLRPC.TL_geoPoint tL_geoPoint = new TLRPC.TL_geoPoint();
tL_messageMediaGeo.geo = tL_geoPoint;
tL_geoPoint.lat = AndroidUtilities.fixLocationCoord(this.userLocation.getLatitude());
tL_messageMediaGeo.geo._long = AndroidUtilities.fixLocationCoord(this.userLocation.getLongitude());
ChatAttachAlert chatAttachAlert = this.parentAlert;
AlertsCreator.ensurePaidMessageConfirmation(chatAttachAlert.currentAccount, chatAttachAlert.getDialogId(), this.parentAlert.getAdditionalMessagesCount() + 1, new Utilities.Callback() {
@Override
public final void run(Object obj) {
ChatAttachAlertLocationLayout.this.lambda$new$6(chatActivity, tL_messageMediaGeo, resourcesProvider, (Long) obj);
}
});
return;
}
if (i == 2 && i2 == 1) {
if (getLocationController().isSharingLocation(this.dialogId)) {
getLocationController().removeSharingLocation(this.dialogId);
this.parentAlert.dismiss(true);
return;
} else if (this.myLocation == null && this.locationDenied) {
AlertsCreator.createLocationRequiredDialog(getParentActivity(), true).show();
return;
} else {
openShareLiveLocation();
return;
}
}
}
final Object item = this.adapter.getItem(i);
if (item instanceof TLRPC.TL_messageMediaVenue) {
ChatAttachAlert chatAttachAlert2 = this.parentAlert;
AlertsCreator.ensurePaidMessageConfirmation(chatAttachAlert2.currentAccount, chatAttachAlert2.getDialogId(), this.parentAlert.getAdditionalMessagesCount() + 1, new Utilities.Callback() {
@Override
public final void run(Object obj) {
ChatAttachAlertLocationLayout.this.lambda$new$8(chatActivity, item, resourcesProvider, (Long) obj);
}
});
}
}
public void lambda$onMapInit$22(int i) {
View childAt;
RecyclerView.ViewHolder findContainingViewHolder;
if (i == 1) {
showSearchPlacesButton(true);
removeInfoView();
if (this.scrolling || this.listView.getChildCount() <= 0 || (childAt = this.listView.getChildAt(0)) == null || (findContainingViewHolder = this.listView.findContainingViewHolder(childAt)) == null || findContainingViewHolder.getAdapterPosition() != 0) {
return;
}
int dp = this.locationType == 0 ? 0 : AndroidUtilities.dp(66.0f);
int top = childAt.getTop();
if (top < (-dp)) {
IMapsProvider$CameraPosition cameraPosition = this.map.getCameraPosition();
this.forceUpdate = ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(cameraPosition.target, cameraPosition.zoom);
this.listView.smoothScrollBy(0, top + dp);
}
}
}
public void lambda$onMapInit$23() {
Location location;
if (this.ignoreIdleCamera) {
this.ignoreIdleCamera = false;
return;
}
IMapsProvider$IMap iMapsProvider$IMap = this.map;
if (iMapsProvider$IMap != null && (location = this.userLocation) != null) {
location.setLatitude(iMapsProvider$IMap.getCameraPosition().target.latitude);
this.userLocation.setLongitude(this.map.getCameraPosition().target.longitude);
}
this.adapter.setCustomLocation(this.userLocation);
this.adapter.fetchLocationAddress();
}
public void lambda$onMapInit$24(Location location) {
int i;
ChatAttachAlert chatAttachAlert = this.parentAlert;
if (chatAttachAlert == null || chatAttachAlert.baseFragment == null) {
return;
}
positionMarker(location);
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null && (((i = this.locationType) == 7 || i == 8) && !this.userLocationMoved)) {
locationActivityAdapter.setCustomLocation(this.userLocation);
}
getLocationController().setMapLocation(location, this.isFirstLocation);
this.isFirstLocation = false;
}
public boolean lambda$onMapInit$25(IMapsProvider$IMarker iMapsProvider$IMarker) {
if (!(iMapsProvider$IMarker.getTag() instanceof VenueLocation)) {
return true;
}
this.markerImageView.setVisibility(4);
if (!this.userLocationMoved) {
ImageView imageView = this.locationButton;
int i = Theme.key_location_actionIcon;
imageView.setColorFilter(new PorterDuffColorFilter(getThemedColor(i), PorterDuff.Mode.MULTIPLY));
this.locationButton.setTag(Integer.valueOf(i));
this.userLocationMoved = true;
}
this.overlayView.addInfoView(iMapsProvider$IMarker);
return true;
}
public void lambda$onMapInit$26() {
MapOverlayView mapOverlayView = this.overlayView;
if (mapOverlayView != null) {
mapOverlayView.updatePositions();
}
}
public void lambda$onMapInit$27() {
if (this.loadingMapView.getTag() == null) {
this.loadingMapView.animate().alpha(0.0f).setDuration(180L).start();
}
}
public void lambda$onMapInit$28(AlertDialog alertDialog, int i) {
if (getParentActivity() == null) {
return;
}
try {
getParentActivity().startActivity(new Intent("android.settings.LOCATION_SOURCE_SETTINGS"));
} catch (Exception unused) {
}
}
public void lambda$onShow$33() {
int i;
Activity parentActivity;
int checkSelfPermission;
int checkSelfPermission2;
if (!this.checkPermission || (i = Build.VERSION.SDK_INT) < 23 || (parentActivity = getParentActivity()) == null) {
return;
}
this.checkPermission = false;
checkSelfPermission = parentActivity.checkSelfPermission("android.permission.ACCESS_COARSE_LOCATION");
if (checkSelfPermission != 0) {
ChatAttachAlert chatAttachAlert = this.parentAlert;
String[] strArr = (!chatAttachAlert.isStoryLocationPicker || chatAttachAlert.storyLocationPickerPhotoFile == null || i < 29) ? new String[]{"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"} : new String[]{"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_MEDIA_LOCATION"};
this.askedForLocation = true;
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
locationActivityAdapter.setMyLocationDenied(this.locationDenied, true);
}
parentActivity.requestPermissions(strArr, 2);
return;
}
if (i >= 29) {
ChatAttachAlert chatAttachAlert2 = this.parentAlert;
if (!chatAttachAlert2.isStoryLocationPicker || chatAttachAlert2.storyLocationPickerPhotoFile == null) {
return;
}
checkSelfPermission2 = parentActivity.checkSelfPermission("android.permission.ACCESS_MEDIA_LOCATION");
if (checkSelfPermission2 != 0) {
this.askedForLocation = true;
LocationActivityAdapter locationActivityAdapter2 = this.adapter;
if (locationActivityAdapter2 != null) {
locationActivityAdapter2.setMyLocationDenied(this.locationDenied, true);
}
parentActivity.requestPermissions(new String[]{"android.permission.ACCESS_MEDIA_LOCATION"}, NotificationCenter.starOptionsLoaded);
}
}
}
public void lambda$openShareLiveLocation$20(int i, Long l) {
TLRPC.TL_messageMediaGeoLive tL_messageMediaGeoLive = new TLRPC.TL_messageMediaGeoLive();
TLRPC.TL_geoPoint tL_geoPoint = new TLRPC.TL_geoPoint();
tL_messageMediaGeoLive.geo = tL_geoPoint;
tL_geoPoint.lat = AndroidUtilities.fixLocationCoord(this.myLocation.getLatitude());
tL_messageMediaGeoLive.geo._long = AndroidUtilities.fixLocationCoord(this.myLocation.getLongitude());
tL_messageMediaGeoLive.period = i;
this.delegate.didSelectLocation(tL_messageMediaGeoLive, this.locationType, true, 0, l.longValue());
this.parentAlert.dismiss(true);
}
public void lambda$openShareLiveLocation$21(final int i) {
ChatAttachAlert chatAttachAlert = this.parentAlert;
AlertsCreator.ensurePaidMessageConfirmation(chatAttachAlert.currentAccount, chatAttachAlert.getDialogId(), this.parentAlert.getAdditionalMessagesCount() + 1, new Utilities.Callback() {
@Override
public final void run(Object obj) {
ChatAttachAlertLocationLayout.this.lambda$openShareLiveLocation$20(i, (Long) obj);
}
});
}
public void lambda$positionMarker$29() {
double[] dArr = this.parentAlert.storyLocationPickerLatLong;
lambda$positionMarker$30(dArr[0], dArr[1]);
}
public void lambda$positionMarker$31(float[] fArr) {
lambda$positionMarker$30(fArr[0], fArr[1]);
}
public void lambda$positionMarker$32() {
lambda$positionMarker$30(0.0d, 0.0d);
}
private void onMapInit() {
PackageManager packageManager;
if (this.map == null) {
return;
}
Location location = new Location("network");
this.userLocation = location;
location.setLatitude(20.659322d);
this.userLocation.setLongitude(-11.40625d);
try {
this.map.setMyLocationEnabled(true);
} catch (Exception e) {
FileLog.e(e);
}
this.map.getUiSettings().setMyLocationButtonEnabled(false);
this.map.getUiSettings().setZoomControlsEnabled(false);
this.map.getUiSettings().setCompassEnabled(false);
this.map.setOnCameraMoveStartedListener(new IMapsProvider$OnCameraMoveStartedListener() {
@Override
public final void onCameraMoveStarted(int i) {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$22(i);
}
});
this.map.setOnCameraIdleListener(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$23();
}
});
this.map.setOnMyLocationChangeListener(new Consumer() {
public final void accept(Object obj) {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$24((Location) obj);
}
});
this.map.setOnMarkerClickListener(new IMapsProvider$OnMarkerClickListener() {
@Override
public final boolean onClick(IMapsProvider$IMarker iMapsProvider$IMarker) {
boolean lambda$onMapInit$25;
lambda$onMapInit$25 = ChatAttachAlertLocationLayout.this.lambda$onMapInit$25(iMapsProvider$IMarker);
return lambda$onMapInit$25;
}
});
this.map.setOnCameraMoveListener(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$26();
}
});
positionMarker();
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$27();
}
}, 200L);
if (this.checkGpsEnabled && getParentActivity() != null) {
this.checkGpsEnabled = false;
Activity parentActivity = getParentActivity();
if (parentActivity != null && (packageManager = parentActivity.getPackageManager()) != null && !packageManager.hasSystemFeature("android.hardware.location.gps")) {
return;
}
try {
if (!((LocationManager) ApplicationLoader.applicationContext.getSystemService("location")).isProviderEnabled("gps")) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity(), this.resourcesProvider);
builder.setTopAnimation(R.raw.permission_request_location, 72, false, Theme.getColor(Theme.key_dialogTopBackground, this.resourcesProvider));
builder.setMessage(LocaleController.getString(R.string.GpsDisabledAlertText));
builder.setPositiveButton(LocaleController.getString(R.string.ConnectingToProxyEnable), new AlertDialog.OnButtonClickListener() {
public final void onClick(AlertDialog alertDialog, int i) {
ChatAttachAlertLocationLayout.this.lambda$onMapInit$28(alertDialog, i);
}
});
builder.setNegativeButton(LocaleController.getString(R.string.Cancel), (AlertDialog.OnButtonClickListener) null);
builder.show();
}
} catch (Exception e2) {
FileLog.e(e2);
}
}
updateClipView();
}
private void positionMarker() {
Runnable runnable;
ChatAttachAlert chatAttachAlert = this.parentAlert;
if (chatAttachAlert.isStoryLocationPicker) {
if (chatAttachAlert.storyLocationPickerLatLong != null) {
runnable = new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$positionMarker$29();
}
};
} else if (this.locationDenied) {
runnable = new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$positionMarker$32();
}
};
} else {
File file = chatAttachAlert.storyLocationPickerPhotoFile;
boolean z = chatAttachAlert.storyLocationPickerFileIsVideo;
if (file != null) {
try {
if (z) {
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(file.getAbsolutePath());
String extractMetadata = mediaMetadataRetriever.extractMetadata(23);
if (extractMetadata != null) {
Matcher matcher = Pattern.compile("([+\\-][0-9.]+)([+\\-][0-9.]+)").matcher(extractMetadata);
if (matcher.find() && matcher.groupCount() == 2) {
String group = matcher.group(1);
String group2 = matcher.group(2);
final double parseDouble = Double.parseDouble(group);
final double parseDouble2 = Double.parseDouble(group2);
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$positionMarker$30(parseDouble, parseDouble2);
}
});
}
}
} else {
ExifInterface exifInterface = new ExifInterface(file.getAbsolutePath());
final float[] fArr = new float[2];
if (exifInterface.getLatLong(fArr)) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$positionMarker$31(fArr);
}
});
}
}
} catch (NumberFormatException | Exception unused) {
}
}
}
AndroidUtilities.runOnUIThread(runnable);
return;
}
Location lastLocation = getLastLocation();
this.myLocation = lastLocation;
positionMarker(lastLocation);
}
private void positionMarker(Location location) {
if (location == null) {
return;
}
Location location2 = new Location(location);
this.myLocation = location2;
if (this.map == null) {
this.adapter.setGpsLocation(location2);
return;
}
IMapsProvider$LatLng iMapsProvider$LatLng = new IMapsProvider$LatLng(location.getLatitude(), location.getLongitude());
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
if (!this.searchedForCustomLocations && this.locationType != 8) {
locationActivityAdapter.searchPlacesWithQuery((String) null, this.myLocation, true);
}
this.adapter.setGpsLocation(this.myLocation);
}
if (this.userLocationMoved) {
return;
}
this.userLocation = new Location(location);
if (this.firstWas) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(iMapsProvider$LatLng));
} else {
this.firstWas = true;
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(iMapsProvider$LatLng, this.map.getMaxZoomLevel() - 4.0f));
}
}
private void removeInfoView() {
if (this.lastPressedMarker != null) {
this.markerImageView.setVisibility(0);
this.overlayView.removeInfoView(this.lastPressedMarker);
this.lastPressedMarker = null;
this.lastPressedVenue = null;
this.lastPressedMarkerView = null;
}
}
public void lambda$positionMarker$30(double d, double d2) {
Location location;
IMapsProvider mapsProvider;
float minZoomLevel;
if (this.map == null) {
return;
}
if (d == 0.0d || d2 == 0.0d) {
Location location2 = new Location("");
this.myLocation = location2;
location2.reset();
this.myLocation.setLatitude(d);
location = this.myLocation;
} else {
Location location3 = new Location("");
this.userLocation = location3;
location3.reset();
this.userLocation.setLatitude(d);
location = this.userLocation;
}
location.setLongitude(d2);
IMapsProvider$LatLng iMapsProvider$LatLng = new IMapsProvider$LatLng(d, d2);
if (d == 0.0d || d2 == 0.0d) {
mapsProvider = ApplicationLoader.getMapsProvider();
minZoomLevel = this.map.getMinZoomLevel();
} else {
mapsProvider = ApplicationLoader.getMapsProvider();
minZoomLevel = this.map.getMaxZoomLevel() - 4.0f;
}
IMapsProvider$ICameraUpdate newCameraUpdateLatLngZoom = mapsProvider.newCameraUpdateLatLngZoom(iMapsProvider$LatLng, minZoomLevel);
this.forceUpdate = newCameraUpdateLatLngZoom;
this.map.moveCamera(newCameraUpdateLatLngZoom);
if (d == 0.0d || d2 == 0.0d) {
this.adapter.setGpsLocation(this.myLocation);
} else {
this.adapter.setCustomLocation(this.userLocation);
}
this.adapter.fetchLocationAddress();
this.listView.smoothScrollBy(0, 1);
this.ignoreIdleCamera = true;
if (d == 0.0d || d2 == 0.0d) {
return;
}
this.userLocationMoved = true;
showSearchPlacesButton(false);
if (this.locationType != 8) {
this.adapter.searchPlacesWithQuery((String) null, this.userLocation, true, true);
}
this.searchedForCustomLocations = true;
showResults();
}
private void showResults() {
if (this.adapter.getItemCount() != 0 && this.layoutManager.findFirstVisibleItemPosition() == 0) {
int dp = AndroidUtilities.dp(258.0f) + this.listView.getChildAt(0).getTop();
if (dp < 0 || dp > AndroidUtilities.dp(258.0f)) {
return;
}
this.listView.smoothScrollBy(0, dp);
}
}
public void showSearchPlacesButton(boolean z) {
SearchButton searchButton;
Location location;
Location location2;
if (this.locationDenied) {
z = false;
}
if (z && (searchButton = this.searchAreaButton) != null && searchButton.getTag() == null && ((location = this.myLocation) == null || (location2 = this.userLocation) == null || location2.distanceTo(location) < 300.0f)) {
z = false;
}
if (this.locationType == 8) {
z = false;
}
SearchButton searchButton2 = this.searchAreaButton;
if (searchButton2 != null) {
if (!z || searchButton2.getTag() == null) {
if (z || this.searchAreaButton.getTag() != null) {
this.searchAreaButton.setVisibility(z ? 0 : 4);
this.searchAreaButton.setTag(z ? 1 : null);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(this.searchAreaButton, (Property<SearchButton, Float>) View.TRANSLATION_X, z ? 0.0f : -AndroidUtilities.dp(80.0f)));
animatorSet.setDuration(180L);
animatorSet.setInterpolator(CubicBezierInterpolator.EASE_OUT);
animatorSet.start();
}
}
}
}
public void updateClipView() {
int i;
int i2;
IMapsProvider$LatLng iMapsProvider$LatLng;
Location location;
IMapsProvider$IMap iMapsProvider$IMap;
if (this.mapView == null || this.mapViewClip == null) {
return;
}
RecyclerView.ViewHolder findViewHolderForAdapterPosition = this.listView.findViewHolderForAdapterPosition(0);
if (findViewHolderForAdapterPosition != null) {
i = (int) findViewHolderForAdapterPosition.itemView.getY();
i2 = this.overScrollHeight + Math.min(i, 0);
} else {
i = -this.mapViewClip.getMeasuredHeight();
i2 = 0;
}
if (((FrameLayout.LayoutParams) this.mapViewClip.getLayoutParams()) != null) {
if (i2 <= 0) {
if (this.mapView.getView().getVisibility() == 0) {
this.mapView.getView().setVisibility(4);
this.mapViewClip.setVisibility(4);
MapOverlayView mapOverlayView = this.overlayView;
if (mapOverlayView != null) {
mapOverlayView.setVisibility(4);
}
}
this.mapView.getView().setTranslationY(i);
return;
}
if (this.mapView.getView().getVisibility() == 4) {
this.mapView.getView().setVisibility(0);
this.mapViewClip.setVisibility(0);
MapOverlayView mapOverlayView2 = this.overlayView;
if (mapOverlayView2 != null) {
mapOverlayView2.setVisibility(0);
}
}
int max = Math.max(0, (-((i - this.mapHeight) + this.overScrollHeight)) / 2);
int i3 = this.mapHeight - this.overScrollHeight;
float max2 = 1.0f - Math.max(0.0f, Math.min(1.0f, (this.listView.getPaddingTop() - i) / (this.listView.getPaddingTop() - i3)));
int i4 = this.clipSize;
if (this.locationDenied && isTypeSend()) {
i3 += Math.min(i, this.listView.getPaddingTop());
}
this.clipSize = (int) (i3 * max2);
float f = max;
this.mapView.getView().setTranslationY(f);
this.nonClipSize = i3 - this.clipSize;
this.mapViewClip.invalidate();
this.mapViewClip.setTranslationY(i - this.nonClipSize);
IMapsProvider$IMap iMapsProvider$IMap2 = this.map;
if (iMapsProvider$IMap2 != null) {
iMapsProvider$IMap2.setPadding(0, AndroidUtilities.dp(6.0f), 0, this.clipSize + AndroidUtilities.dp(6.0f));
}
MapOverlayView mapOverlayView3 = this.overlayView;
if (mapOverlayView3 != null) {
mapOverlayView3.setTranslationY(f);
}
float min = Math.min(Math.max(this.nonClipSize - i, 0), (this.mapHeight - this.mapTypeButton.getMeasuredHeight()) - AndroidUtilities.dp(80.0f));
this.mapTypeButton.setTranslationY(min);
this.searchAreaButton.setTranslation(min);
this.locationButton.setTranslationY(-this.clipSize);
ImageView imageView = this.markerImageView;
int dp = (((this.mapHeight - this.clipSize) / 2) - AndroidUtilities.dp(48.0f)) + max;
this.markerTop = dp;
imageView.setTranslationY(dp);
if (i4 != this.clipSize) {
IMapsProvider$IMarker iMapsProvider$IMarker = this.lastPressedMarker;
if (iMapsProvider$IMarker != null) {
iMapsProvider$LatLng = new IMapsProvider$LatLng(iMapsProvider$IMarker.getPosition().latitude, this.lastPressedMarker.getPosition().longitude);
} else if (!this.userLocationMoved || (location = this.userLocation) == null) {
Location location2 = this.myLocation;
iMapsProvider$LatLng = location2 != null ? new IMapsProvider$LatLng(location2.getLatitude(), this.myLocation.getLongitude()) : null;
} else {
iMapsProvider$LatLng = new IMapsProvider$LatLng(location.getLatitude(), this.userLocation.getLongitude());
}
if (iMapsProvider$LatLng != null && (iMapsProvider$IMap = this.map) != null) {
iMapsProvider$IMap.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(iMapsProvider$LatLng));
}
}
if (this.locationDenied && isTypeSend()) {
int itemCount = this.adapter.getItemCount();
for (int i5 = 1; i5 < itemCount; i5++) {
RecyclerView.ViewHolder findViewHolderForAdapterPosition2 = this.listView.findViewHolderForAdapterPosition(i5);
if (findViewHolderForAdapterPosition2 != null) {
findViewHolderForAdapterPosition2.itemView.setTranslationY(this.listView.getPaddingTop() - i);
}
}
}
}
}
public void updateEmptyView() {
if (this.searching) {
if (!this.searchInProgress) {
this.searchListView.setEmptyView(this.emptyView);
return;
}
this.searchListView.setEmptyView(null);
}
this.emptyView.setVisibility(8);
}
public void updatePlacesMarkers(ArrayList arrayList) {
if (arrayList == null) {
return;
}
int size = this.placeMarkers.size();
for (int i = 0; i < size; i++) {
((VenueLocation) this.placeMarkers.get(i)).marker.remove();
}
this.placeMarkers.clear();
int size2 = arrayList.size();
for (int i2 = 0; i2 < size2; i2++) {
TLRPC.TL_messageMediaVenue tL_messageMediaVenue = (TLRPC.TL_messageMediaVenue) arrayList.get(i2);
try {
IMapsProvider$IMarkerOptions onCreateMarkerOptions = ApplicationLoader.getMapsProvider().onCreateMarkerOptions();
TLRPC.GeoPoint geoPoint = tL_messageMediaVenue.geo;
IMapsProvider$IMarkerOptions position = onCreateMarkerOptions.position(new IMapsProvider$LatLng(geoPoint.lat, geoPoint._long));
position.icon(createPlaceBitmap(i2));
position.anchor(0.5f, 0.5f);
position.title(tL_messageMediaVenue.title);
position.snippet(tL_messageMediaVenue.address);
VenueLocation venueLocation = new VenueLocation();
venueLocation.num = i2;
IMapsProvider$IMarker addMarker = this.map.addMarker(position);
venueLocation.marker = addMarker;
venueLocation.venue = tL_messageMediaVenue;
addMarker.setTag(venueLocation);
this.placeMarkers.add(venueLocation);
} catch (Exception e) {
FileLog.e(e);
}
}
}
public void didReceivedNotification(int i, int i2, Object... objArr) {
if (i == NotificationCenter.locationPermissionGranted) {
this.locationDenied = false;
this.askedForLocation = false;
positionMarker();
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
locationActivityAdapter.setMyLocationDenied(this.locationDenied, this.askedForLocation);
}
LocationActivitySearchAdapter locationActivitySearchAdapter = this.searchAdapter;
if (locationActivitySearchAdapter != null) {
locationActivitySearchAdapter.setMyLocationDenied(this.locationDenied);
}
IMapsProvider$IMap iMapsProvider$IMap = this.map;
if (iMapsProvider$IMap != null) {
try {
iMapsProvider$IMap.setMyLocationEnabled(true);
} catch (Exception e) {
FileLog.e(e);
}
}
} else if (i == NotificationCenter.locationPermissionDenied) {
this.locationDenied = true;
this.askedForLocation = false;
LocationActivityAdapter locationActivityAdapter2 = this.adapter;
if (locationActivityAdapter2 != null) {
locationActivityAdapter2.setMyLocationDenied(true, false);
}
LocationActivitySearchAdapter locationActivitySearchAdapter2 = this.searchAdapter;
if (locationActivitySearchAdapter2 != null) {
locationActivitySearchAdapter2.setMyLocationDenied(this.locationDenied);
}
}
fixLayoutInternal(true);
this.searchItem.setVisibility(((this.locationDenied && !this.parentAlert.isStoryLocationPicker) || this.parentAlert.isBizLocationPicker) ? 8 : 0);
}
@Override
public int getButtonsHideOffset() {
return AndroidUtilities.dp(56.0f);
}
@Override
public int getCurrentItemTop() {
if (this.listView.getChildCount() <= 0) {
return Integer.MAX_VALUE;
}
RecyclerListView.Holder holder = (RecyclerListView.Holder) this.listView.findViewHolderForAdapterPosition(0);
return (holder != null ? Math.max(((int) ((RecyclerView.ViewHolder) holder).itemView.getY()) - this.nonClipSize, 0) : 0) + AndroidUtilities.dp(56.0f);
}
@Override
public int getFirstOffset() {
return getListTopPadding() + AndroidUtilities.dp(56.0f);
}
@Override
public int getListTopPadding() {
return this.listView.getPaddingTop();
}
@Override
public ArrayList<ThemeDescription> getThemeDescriptions() {
ArrayList<ThemeDescription> arrayList = new ArrayList<>();
ThemeDescription.ThemeDescriptionDelegate themeDescriptionDelegate = new ThemeDescription.ThemeDescriptionDelegate() {
public final void didSetColor() {
ChatAttachAlertLocationLayout.this.lambda$getThemeDescriptions$34();
}
public void onAnimationProgress(float f) {
ThemeDescription.ThemeDescriptionDelegate.-CC.$default$onAnimationProgress(this, f);
}
};
arrayList.add(new ThemeDescription(this.mapViewClip, ThemeDescription.FLAG_BACKGROUND, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialogBackground));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_LISTGLOWCOLOR, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialogScrollGlow));
ActionBarMenuItem actionBarMenuItem = this.searchItem;
arrayList.add(new ThemeDescription(actionBarMenuItem != null ? actionBarMenuItem.getSearchField() : null, ThemeDescription.FLAG_CURSORCOLOR, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialogTextBlack));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_SELECTOR, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_listSelector));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{View.class}, Theme.dividerPaint, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_divider));
ImageView imageView = this.emptyImageView;
int i = ThemeDescription.FLAG_IMAGECOLOR;
int i2 = Theme.key_dialogEmptyImage;
arrayList.add(new ThemeDescription(imageView, i, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i2));
TextView textView = this.emptyTitleTextView;
int i3 = ThemeDescription.FLAG_TEXTCOLOR;
int i4 = Theme.key_dialogEmptyText;
arrayList.add(new ThemeDescription(textView, i3, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i4));
arrayList.add(new ThemeDescription(this.emptySubtitleTextView, ThemeDescription.FLAG_TEXTCOLOR, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i4));
ImageView imageView2 = this.locationButton;
int i5 = ThemeDescription.FLAG_IMAGECOLOR | ThemeDescription.FLAG_CHECKTAG;
int i6 = Theme.key_location_actionIcon;
arrayList.add(new ThemeDescription(imageView2, i5, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i6));
ImageView imageView3 = this.locationButton;
int i7 = ThemeDescription.FLAG_IMAGECOLOR | ThemeDescription.FLAG_CHECKTAG;
int i8 = Theme.key_location_actionActiveIcon;
arrayList.add(new ThemeDescription(imageView3, i7, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i8));
ImageView imageView4 = this.locationButton;
int i9 = ThemeDescription.FLAG_BACKGROUNDFILTER;
int i10 = Theme.key_location_actionBackground;
arrayList.add(new ThemeDescription(imageView4, i9, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i10));
ImageView imageView5 = this.locationButton;
int i11 = ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE;
int i12 = Theme.key_location_actionPressedBackground;
arrayList.add(new ThemeDescription(imageView5, i11, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i12));
arrayList.add(new ThemeDescription(this.mapTypeButton, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, i6));
arrayList.add(new ThemeDescription(this.mapTypeButton, ThemeDescription.FLAG_BACKGROUNDFILTER, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i10));
arrayList.add(new ThemeDescription(this.mapTypeButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i12));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_TEXTCOLOR, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i8));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_BACKGROUNDFILTER, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i10));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i12));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, Theme.avatarDrawables, themeDescriptionDelegate, Theme.key_avatar_text));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundRed));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundOrange));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundViolet));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundGreen));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundCyan));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundBlue));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, themeDescriptionDelegate, Theme.key_avatar_backgroundPink));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_liveLocationProgress));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_placeLocationBackground));
arrayList.add(new ThemeDescription((View) null, 0, (Class[]) null, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialog_liveLocationProgress));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_CHECKTAG | ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE, new Class[]{SendLocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLocationIcon));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE | ThemeDescription.FLAG_CHECKTAG, new Class[]{SendLocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLiveLocationIcon));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE | ThemeDescription.FLAG_CHECKTAG, new Class[]{SendLocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLocationBackground));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE | ThemeDescription.FLAG_CHECKTAG, new Class[]{SendLocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLiveLocationBackground));
int i13 = Theme.key_windowBackgroundWhiteGrayText3;
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{SendLocationCell.class}, new String[]{"accurateTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_CHECKTAG, new Class[]{SendLocationCell.class}, new String[]{"titleTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLiveLocationText));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_CHECKTAG, new Class[]{SendLocationCell.class}, new String[]{"titleTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_location_sendLocationText));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationDirectionCell.class}, new String[]{"buttonTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_featuredStickers_buttonText));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE, new Class[]{LocationDirectionCell.class}, new String[]{"frameLayout"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_featuredStickers_addButton));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_USEBACKGROUNDDRAWABLE | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, new Class[]{LocationDirectionCell.class}, new String[]{"frameLayout"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_featuredStickers_addButtonPressed));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{ShadowSectionCell.class}, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_windowBackgroundGrayShadow));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_CELLBACKGROUNDCOLOR, new Class[]{ShadowSectionCell.class}, (Paint) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_windowBackgroundGray));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{HeaderCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialogTextBlue2));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{LocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
int i14 = Theme.key_windowBackgroundWhiteBlackText;
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i14));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.searchListView, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{LocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.searchListView, 0, new Class[]{LocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i14));
arrayList.add(new ThemeDescription(this.searchListView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i14));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"progressBar"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_progressCircle));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationPoweredCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_IMAGECOLOR, new Class[]{LocationPoweredCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i2));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{LocationPoweredCell.class}, new String[]{"textView2"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i4));
return arrayList;
}
@Override
public int needsActionBar() {
return 1;
}
@Override
public void onDestroy() {
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.locationPermissionGranted);
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.locationPermissionDenied);
this.doNotDrawMap = true;
FrameLayout frameLayout = this.mapViewClip;
if (frameLayout != null) {
frameLayout.invalidate();
}
try {
IMapsProvider$IMap iMapsProvider$IMap = this.map;
if (iMapsProvider$IMap != null) {
iMapsProvider$IMap.setMyLocationEnabled(false);
}
} catch (Exception e) {
FileLog.e(e);
}
IMapsProvider$IMapView iMapsProvider$IMapView = this.mapView;
if (iMapsProvider$IMapView != null) {
iMapsProvider$IMapView.getView().setTranslationY((-AndroidUtilities.displaySize.y) * 3);
}
try {
IMapsProvider$IMapView iMapsProvider$IMapView2 = this.mapView;
if (iMapsProvider$IMapView2 != null) {
iMapsProvider$IMapView2.onPause();
}
} catch (Exception unused) {
}
try {
IMapsProvider$IMapView iMapsProvider$IMapView3 = this.mapView;
if (iMapsProvider$IMapView3 != null) {
iMapsProvider$IMapView3.onDestroy();
this.mapView = null;
}
} catch (Exception unused2) {
}
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
locationActivityAdapter.destroy();
}
LocationActivitySearchAdapter locationActivitySearchAdapter = this.searchAdapter;
if (locationActivitySearchAdapter != null) {
locationActivitySearchAdapter.destroy();
}
this.parentAlert.actionBar.closeSearchField();
this.parentAlert.actionBar.createMenu().removeView(this.searchItem);
}
@Override
public boolean onDismiss() {
onDestroy();
return false;
}
@Override
public void onHide() {
this.searchItem.setVisibility(8);
}
@Override
protected void onLayout(boolean z, int i, int i2, int i3, int i4) {
super.onLayout(z, i, i2, i3, i4);
if (z) {
fixLayoutInternal(this.first);
this.first = false;
}
}
@Override
public void onPanTransitionEnd() {
LocationActivityAdapter locationActivityAdapter = this.adapter;
ChatAttachAlert chatAttachAlert = this.parentAlert;
locationActivityAdapter.animated = (chatAttachAlert == null || chatAttachAlert.isKeyboardVisible()) ? false : true;
}
@Override
public void onPanTransitionStart(boolean z, int i) {
if (z) {
this.adapter.animated = false;
}
}
@Override
public void onPause() {
IMapsProvider$IMapView iMapsProvider$IMapView = this.mapView;
if (iMapsProvider$IMapView != null && this.mapsInitialized) {
try {
iMapsProvider$IMapView.onPause();
} catch (Exception e) {
FileLog.e(e);
}
}
this.onResumeCalled = false;
}
@Override
public void onPreMeasure(int r4, int r5) {
throw new UnsupportedOperationException("Method not decompiled: org.telegram.ui.Components.ChatAttachAlertLocationLayout.onPreMeasure(int, int):void");
}
@Override
public void onResume() {
IMapsProvider$IMapView iMapsProvider$IMapView = this.mapView;
if (iMapsProvider$IMapView != null && this.mapsInitialized) {
try {
iMapsProvider$IMapView.onResume();
} catch (Throwable th) {
FileLog.e(th);
}
}
this.onResumeCalled = true;
}
@Override
public void onShow(ChatAttachAlert.AttachAlertLayout attachAlertLayout) {
this.parentAlert.actionBar.setTitle(LocaleController.getString(R.string.ShareLocation));
if (this.mapView.getView().getParent() == null) {
this.mapViewClip.addView(this.mapView.getView(), 0, LayoutHelper.createFrame(-1, this.overScrollHeight + AndroidUtilities.dp(10.0f), 51));
this.mapViewClip.addView(this.overlayView, 1, LayoutHelper.createFrame(-1, this.overScrollHeight + AndroidUtilities.dp(10.0f), 51));
this.mapViewClip.addView(this.loadingMapView, 2, LayoutHelper.createFrame(-1, -1.0f));
}
this.searchItem.setVisibility(0);
IMapsProvider$IMapView iMapsProvider$IMapView = this.mapView;
if (iMapsProvider$IMapView != null && this.mapsInitialized) {
try {
iMapsProvider$IMapView.onResume();
} catch (Throwable th) {
FileLog.e(th);
}
}
this.onResumeCalled = true;
IMapsProvider$IMap iMapsProvider$IMap = this.map;
if (iMapsProvider$IMap != null) {
try {
iMapsProvider$IMap.setMyLocationEnabled(true);
} catch (Exception e) {
FileLog.e(e);
}
}
fixLayoutInternal(true);
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.lambda$onShow$33();
}
}, this.parentAlert.delegate.needEnterComment() ? 200L : 0L);
this.layoutManager.scrollToPositionWithOffset(0, 0);
updateClipView();
}
public void openShareLiveLocation() {
Activity parentActivity;
int checkSelfPermission;
if (this.delegate == null || getParentActivity() == null || this.myLocation == null) {
return;
}
if (this.checkBackgroundPermission && Build.VERSION.SDK_INT >= 29 && (parentActivity = getParentActivity()) != null) {
this.checkBackgroundPermission = false;
SharedPreferences globalMainSettings = MessagesController.getGlobalMainSettings();
if (Math.abs((System.currentTimeMillis() / 1000) - globalMainSettings.getInt("backgroundloc", 0)) > 86400) {
checkSelfPermission = parentActivity.checkSelfPermission("android.permission.ACCESS_BACKGROUND_LOCATION");
if (checkSelfPermission != 0) {
globalMainSettings.edit().putInt("backgroundloc", (int) (System.currentTimeMillis() / 1000)).commit();
AlertsCreator.createBackgroundLocationPermissionDialog(parentActivity, getMessagesController().getUser(Long.valueOf(getUserConfig().getClientUserId())), new Runnable() {
@Override
public final void run() {
ChatAttachAlertLocationLayout.this.openShareLiveLocation();
}
}, this.resourcesProvider).show();
return;
}
}
}
AlertsCreator.createLocationUpdateDialog(getParentActivity(), false, DialogObject.isUserDialog(this.dialogId) ? this.parentAlert.baseFragment.getMessagesController().getUser(Long.valueOf(this.dialogId)) : null, new MessagesStorage.IntCallback() {
@Override
public final void run(int i) {
ChatAttachAlertLocationLayout.this.lambda$openShareLiveLocation$21(i);
}
}, this.resourcesProvider).show();
}
@Override
public void requestLayout() {
if (this.ignoreLayout) {
return;
}
super.requestLayout();
}
@Override
public void scrollToTop() {
this.listView.smoothScrollToPosition(0);
}
public void setDelegate(LocationActivityDelegate locationActivityDelegate) {
this.delegate = locationActivityDelegate;
}
@Override
public void setTranslationY(float f) {
super.setTranslationY(f);
this.parentAlert.getSheetContainer().invalidate();
updateClipView();
}
@Override
public boolean shouldHideBottomButtons() {
return !this.locationDenied;
}
}