正在查看: Plus 12 v10.13.1.1 应用的 LocationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Plus 12 v10.13.1.1 应用的 LocationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.ui;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.StateListAnimator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Outline;
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.Shader;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationManager;
import android.net.Uri;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Property;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewOutlineProvider;
import android.view.animation.OvershootInterpolator;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.collection.LongSparseArray;
import androidx.core.graphics.ColorUtils;
import androidx.core.util.Consumer;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.BuildVars;
import org.telegram.messenger.ChatObject;
import org.telegram.messenger.DialogObject;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.IMapsProvider;
import org.telegram.messenger.LocaleController;
import org.telegram.messenger.LocationController;
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.UserObject;
import org.telegram.tgnet.RequestDelegate;
import org.telegram.tgnet.TLObject;
import org.telegram.tgnet.TLRPC;
import org.telegram.ui.ActionBar.ActionBar;
import org.telegram.ui.ActionBar.ActionBarMenu;
import org.telegram.ui.ActionBar.ActionBarMenuItem;
import org.telegram.ui.ActionBar.ActionBarMenuSubItem;
import org.telegram.ui.ActionBar.ActionBarPopupWindow;
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.BaseLocationAdapter;
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.Components.AlertsCreator;
import org.telegram.ui.Components.AvatarDrawable;
import org.telegram.ui.Components.BackupImageView;
import org.telegram.ui.Components.CombinedDrawable;
import org.telegram.ui.Components.CubicBezierInterpolator;
import org.telegram.ui.Components.EditTextBoldCursor;
import org.telegram.ui.Components.LayoutHelper;
import org.telegram.ui.Components.MapPlaceholderDrawable;
import org.telegram.ui.Components.ProximitySheet;
import org.telegram.ui.Components.RecyclerListView;
import org.telegram.ui.Components.UndoView;
import org.telegram.ui.LocationActivity;
import org.telegram.ui.Stories.recorder.HintView2;
public class LocationActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
public LocationActivityAdapter adapter;
public AnimatorSet animatorSet;
public int askWithRadius;
public boolean canUndo;
public TLRPC.TL_channelLocation chatLocation;
public boolean currentMapStyleDark;
public LocationActivityDelegate delegate;
public long dialogId;
public ImageView emptyImageView;
public TextView emptySubtitleTextView;
public TextView emptyTitleTextView;
public LinearLayout emptyView;
public boolean firstWas;
public IMapsProvider.ICameraUpdate forceUpdate;
public boolean hasScreenshot;
public HintView2 hintView;
public TLRPC.TL_channelLocation initialLocation;
public boolean initialMaxZoom;
public IMapsProvider.IMarker lastPressedMarker;
public FrameLayout lastPressedMarkerView;
public VenueLocation lastPressedVenue;
public LinearLayoutManager layoutManager;
public RecyclerListView listView;
public ImageView locationButton;
public int locationType;
public IMapsProvider.IMap map;
public ActionBarMenuItem mapTypeButton;
public IMapsProvider.IMapView mapView;
public FrameLayout mapViewClip;
public boolean mapsInitialized;
public Runnable markAsReadRunnable;
public View markerImageView;
public int markerTop;
public MessageObject messageObject;
public IMapsProvider.ICameraUpdate moveToBounds;
public Location myLocation;
public boolean onResumeCalled;
public ActionBarMenuItem otherItem;
public MapOverlayView overlayView;
public ChatActivity parentFragment;
public ActionBarPopupWindow popupWindow;
public double previousRadius;
public boolean proximityAnimationInProgress;
public ImageView proximityButton;
public IMapsProvider.ICircle proximityCircle;
public ProximitySheet proximitySheet;
public boolean scrolling;
public LocationActivitySearchAdapter searchAdapter;
public SearchButton searchAreaButton;
public boolean searchInProgress;
public ActionBarMenuItem searchItem;
public RecyclerListView searchListView;
public boolean searchWas;
public boolean searchedForCustomLocations;
public boolean searching;
public View shadow;
public Drawable shadowDrawable;
public Runnable updateRunnable;
public Location userLocation;
public boolean userLocationMoved;
public float yOffset;
public UndoView[] undoView = new UndoView[2];
public boolean checkGpsEnabled = true;
public boolean locationDenied = false;
public boolean isFirstLocation = true;
public boolean firstFocus = true;
public ArrayList<LiveLocation> markers = new ArrayList<>();
public LongSparseArray<LiveLocation> markersMap = new LongSparseArray<>();
public long selectedMarkerId = -1;
public ArrayList<VenueLocation> placeMarkers = new ArrayList<>();
public boolean checkPermission = true;
public boolean checkBackgroundPermission = true;
public int overScrollHeight = (AndroidUtilities.displaySize.x - ActionBar.getCurrentActionBarHeight()) - AndroidUtilities.dp(66.0f);
public boolean isSharingAllowed = true;
public Bitmap[] bitmapCache = new Bitmap[7];
public static class LiveLocation {
public TLRPC.Chat chat;
public IMapsProvider.IMarker directionMarker;
public boolean hasRotation;
public long id;
public IMapsProvider.IMarker marker;
public TLRPC.Message object;
public TLRPC.User user;
}
public interface LocationActivityDelegate {
void didSelectLocation(TLRPC.MessageMedia location, int live, boolean notify, int scheduleDate);
}
public static class VenueLocation {
public IMapsProvider.IMarker marker;
public int num;
public TLRPC.TL_messageMediaVenue venue;
}
public static boolean lambda$createView$8(View view, MotionEvent motionEvent) {
return true;
}
public boolean disablePermissionCheck() {
return false;
}
public boolean isSwipeBackEnabled(MotionEvent event) {
return false;
}
public static class SearchButton extends TextView {
public float additionanTranslationY;
public float currentTranslationY;
public SearchButton(Context context) {
super(context);
}
@Override
public float getTranslationX() {
return this.additionanTranslationY;
}
@Override
public void setTranslationX(float translationX) {
this.additionanTranslationY = translationX;
updateTranslationY();
}
public void setTranslation(float value) {
this.currentTranslationY = value;
updateTranslationY();
}
public final void updateTranslationY() {
setTranslationY(this.currentTranslationY + this.additionanTranslationY);
}
}
public class MapOverlayView extends FrameLayout {
public HashMap<IMapsProvider.IMarker, View> views;
public MapOverlayView(Context context) {
super(context);
this.views = new HashMap<>();
}
public void addInfoView(IMapsProvider.IMarker marker) {
final VenueLocation venueLocation = (VenueLocation) marker.getTag();
if (venueLocation == null || LocationActivity.this.lastPressedVenue == venueLocation) {
return;
}
LocationActivity.this.showSearchPlacesButton(false);
if (LocationActivity.this.lastPressedMarker != null) {
removeInfoView(LocationActivity.this.lastPressedMarker);
LocationActivity.this.lastPressedMarker = null;
}
LocationActivity.this.lastPressedVenue = venueLocation;
LocationActivity.this.lastPressedMarker = marker;
Context context = getContext();
FrameLayout frameLayout = new FrameLayout(context);
addView(frameLayout, LayoutHelper.createFrame(-2, 114.0f));
LocationActivity.this.lastPressedMarkerView = new FrameLayout(context);
LocationActivity.this.lastPressedMarkerView.setBackgroundResource(R.drawable.venue_tooltip);
LocationActivity.this.lastPressedMarkerView.getBackground().setColorFilter(new PorterDuffColorFilter(LocationActivity.this.getThemedColor(Theme.key_dialogBackground), PorterDuff.Mode.MULTIPLY));
frameLayout.addView(LocationActivity.this.lastPressedMarkerView, LayoutHelper.createFrame(-2, 71.0f));
LocationActivity.this.lastPressedMarkerView.setAlpha(0.0f);
LocationActivity.this.lastPressedMarkerView.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.MapOverlayView.this.lambda$addInfoView$1(venueLocation, view);
}
});
TextView textView = new TextView(context);
textView.setTextSize(1, 16.0f);
textView.setMaxLines(1);
textView.setEllipsize(TextUtils.TruncateAt.END);
textView.setSingleLine(true);
textView.setTextColor(LocationActivity.this.getThemedColor(Theme.key_windowBackgroundWhiteBlackText));
textView.setTypeface(AndroidUtilities.bold());
textView.setGravity(LocaleController.isRTL ? 5 : 3);
LocationActivity.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(TextUtils.TruncateAt.END);
textView2.setSingleLine(true);
textView2.setTextColor(LocationActivity.this.getThemedColor(Theme.key_windowBackgroundWhiteGrayText3));
textView2.setGravity(LocaleController.isRTL ? 5 : 3);
LocationActivity.this.lastPressedMarkerView.addView(textView2, LayoutHelper.createFrame(-2, -2.0f, (LocaleController.isRTL ? 5 : 3) | 48, 18.0f, 32.0f, 18.0f, 0.0f));
textView.setText(((TLRPC.MessageMedia) venueLocation.venue).title);
textView2.setText(LocaleController.getString("TapToSendLocation", 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/" + ((TLRPC.MessageMedia) venueLocation.venue).venue_type + "_64.png", (String) null, (Drawable) null);
frameLayout2.addView((View) backupImageView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(30, 30, 17));
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public final float[] animatorValues = {0.0f, 1.0f};
public boolean startedInner;
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float interpolation;
float lerp = AndroidUtilities.lerp(this.animatorValues, animation.getAnimatedFraction());
if (lerp >= 0.7f && !this.startedInner && LocationActivity.this.lastPressedMarkerView != null) {
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(LocationActivity.this.lastPressedMarkerView, (Property<FrameLayout, Float>) View.SCALE_X, 0.0f, 1.0f), ObjectAnimator.ofFloat(LocationActivity.this.lastPressedMarkerView, (Property<FrameLayout, Float>) View.SCALE_Y, 0.0f, 1.0f), ObjectAnimator.ofFloat(LocationActivity.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;
}
if (lerp <= 0.5f) {
interpolation = CubicBezierInterpolator.EASE_OUT.getInterpolation(lerp / 0.5f) * 1.1f;
} else if (lerp <= 0.75f) {
interpolation = 1.1f - (CubicBezierInterpolator.EASE_OUT.getInterpolation((lerp - 0.5f) / 0.25f) * 0.2f);
} else {
interpolation = (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(marker, frameLayout);
LocationActivity.this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(marker.getPosition()), 300, (IMapsProvider.ICancelableCallback) null);
}
public void lambda$addInfoView$1(final VenueLocation venueLocation, View view) {
if (LocationActivity.this.parentFragment != null && LocationActivity.this.parentFragment.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(LocationActivity.this.getParentActivity(), LocationActivity.this.parentFragment.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
public final void didSelectDate(boolean z, int i) {
LocationActivity.MapOverlayView.this.lambda$addInfoView$0(venueLocation, z, i);
}
});
} else {
LocationActivity.this.delegate.didSelectLocation(venueLocation.venue, LocationActivity.this.locationType, true, 0);
LocationActivity.this.finishFragment();
}
}
public void lambda$addInfoView$0(VenueLocation venueLocation, boolean z, int i) {
LocationActivity.this.delegate.didSelectLocation(venueLocation.venue, LocationActivity.this.locationType, z, i);
LocationActivity.this.finishFragment();
}
public void removeInfoView(IMapsProvider.IMarker marker) {
View view = this.views.get(marker);
if (view != null) {
removeView(view);
this.views.remove(marker);
}
}
public void updatePositions() {
if (LocationActivity.this.map == null) {
return;
}
IMapsProvider.IProjection projection = LocationActivity.this.map.getProjection();
for (Map.Entry<IMapsProvider.IMarker, View> entry : this.views.entrySet()) {
IMapsProvider.IMarker key = entry.getKey();
View value = entry.getValue();
Point screenLocation = projection.toScreenLocation(key.getPosition());
value.setTranslationX(screenLocation.x - (value.getMeasuredWidth() / 2));
value.setTranslationY((screenLocation.y - value.getMeasuredHeight()) + AndroidUtilities.dp(22.0f));
}
}
}
public LocationActivity(int type) {
this.locationType = type;
AndroidUtilities.fixGoogleMapsBug();
}
public void setInitialMaxZoom(boolean initialMaxZoom) {
this.initialMaxZoom = initialMaxZoom;
}
public boolean onFragmentCreate() {
super.onFragmentCreate();
getNotificationCenter().addObserver(this, NotificationCenter.closeChats);
NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.locationPermissionGranted);
NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.locationPermissionDenied);
NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.liveLocationsChanged);
MessageObject messageObject = this.messageObject;
if (messageObject == null || !messageObject.isLiveLocation()) {
return true;
}
getNotificationCenter().addObserver(this, NotificationCenter.didReceiveNewMessages);
getNotificationCenter().addObserver(this, NotificationCenter.replaceMessagesObjects);
return true;
}
public void onFragmentDestroy() {
super.onFragmentDestroy();
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.locationPermissionGranted);
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.locationPermissionDenied);
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.liveLocationsChanged);
getNotificationCenter().removeObserver(this, NotificationCenter.closeChats);
getNotificationCenter().removeObserver(this, NotificationCenter.didReceiveNewMessages);
getNotificationCenter().removeObserver(this, NotificationCenter.replaceMessagesObjects);
try {
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
iMap.setMyLocationEnabled(false);
}
} catch (Exception e) {
FileLog.e(e);
}
try {
IMapsProvider.IMapView iMapView = this.mapView;
if (iMapView != null) {
iMapView.onDestroy();
}
} catch (Exception e2) {
FileLog.e(e2);
}
UndoView[] undoViewArr = this.undoView;
if (undoViewArr[0] != null) {
undoViewArr[0].hide(true, 0);
}
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
locationActivityAdapter.destroy();
}
LocationActivitySearchAdapter locationActivitySearchAdapter = this.searchAdapter;
if (locationActivitySearchAdapter != null) {
locationActivitySearchAdapter.destroy();
}
Runnable runnable = this.updateRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
this.updateRunnable = null;
}
Runnable runnable2 = this.markAsReadRunnable;
if (runnable2 != null) {
AndroidUtilities.cancelRunOnUIThread(runnable2);
this.markAsReadRunnable = null;
}
}
public final UndoView getUndoView() {
if (this.undoView[0].getVisibility() == 0) {
UndoView[] undoViewArr = this.undoView;
UndoView undoView = undoViewArr[0];
undoViewArr[0] = undoViewArr[1];
undoViewArr[1] = undoView;
undoView.hide(true, 2);
this.mapViewClip.removeView(this.undoView[0]);
this.mapViewClip.addView(this.undoView[0]);
}
return this.undoView[0];
}
public void setSharingAllowed(boolean allowed) {
this.isSharingAllowed = allowed;
}
public View createView(final Context context) {
FrameLayout.LayoutParams layoutParams;
int i;
ActionBarMenu actionBarMenu;
Drawable drawable;
int i2;
Drawable drawable2;
ActionBarMenu actionBarMenu2;
int i3;
TLRPC.Message message;
TLRPC.MessageMedia messageMedia;
int i4;
this.searchWas = false;
this.searching = false;
this.searchInProgress = false;
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
locationActivityAdapter.destroy();
}
LocationActivitySearchAdapter locationActivitySearchAdapter = this.searchAdapter;
if (locationActivitySearchAdapter != null) {
locationActivitySearchAdapter.destroy();
}
if (this.chatLocation != null) {
Location location = new Location("network");
this.userLocation = location;
location.setLatitude(this.chatLocation.geo_point.lat);
this.userLocation.setLongitude(this.chatLocation.geo_point._long);
} else if (this.messageObject != null) {
Location location2 = new Location("network");
this.userLocation = location2;
location2.setLatitude(this.messageObject.messageOwner.media.geo.lat);
this.userLocation.setLongitude(this.messageObject.messageOwner.media.geo._long);
}
int i5 = Build.VERSION.SDK_INT;
this.locationDenied = (i5 < 23 || getParentActivity() == null || getParentActivity().checkSelfPermission("android.permission.ACCESS_COARSE_LOCATION") == 0) ? false : true;
ActionBar actionBar = ((BaseFragment) this).actionBar;
int i6 = Theme.key_dialogBackground;
actionBar.setBackgroundColor(getThemedColor(i6));
ActionBar actionBar2 = ((BaseFragment) this).actionBar;
int i7 = Theme.key_dialogTextBlack;
actionBar2.setTitleColor(getThemedColor(i7));
((BaseFragment) this).actionBar.setItemsColor(getThemedColor(i7), false);
((BaseFragment) this).actionBar.setItemsBackgroundColor(getThemedColor(Theme.key_dialogButtonSelector), false);
((BaseFragment) this).actionBar.setBackButtonImage(R.drawable.ic_ab_back);
((BaseFragment) this).actionBar.setAllowOverlayTitle(true);
if (AndroidUtilities.isTablet()) {
((BaseFragment) this).actionBar.setOccupyStatusBar(false);
}
((BaseFragment) this).actionBar.setAddToContainer(false);
((BaseFragment) this).actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
LocationActivity.this.finishFragment();
return;
}
if (id != 1) {
if (id == 5) {
LocationActivity.this.openShareLiveLocation(false, 0);
return;
} else {
if (id == 6) {
LocationActivity.this.openDirections(null);
return;
}
return;
}
}
try {
double d = LocationActivity.this.messageObject.messageOwner.media.geo.lat;
double d2 = LocationActivity.this.messageObject.messageOwner.media.geo._long;
LocationActivity.this.getParentActivity().startActivity(new Intent("android.intent.action.VIEW", Uri.parse("geo:" + d + "," + d2 + "?q=" + d + "," + d2)));
} catch (Exception e) {
FileLog.e(e);
}
}
});
ActionBarMenu createMenu = ((BaseFragment) this).actionBar.createMenu();
if (this.chatLocation != null) {
((BaseFragment) this).actionBar.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation));
} else {
MessageObject messageObject = this.messageObject;
if (messageObject != null) {
if (messageObject.isLiveLocation()) {
((BaseFragment) this).actionBar.setTitle(LocaleController.getString("AttachLiveLocation", R.string.AttachLiveLocation));
ActionBarMenuItem addItem = createMenu.addItem(0, R.drawable.ic_ab_other, getResourceProvider());
this.otherItem = addItem;
addItem.addSubItem(6, R.drawable.filled_directions, LocaleController.getString("GetDirections", R.string.GetDirections));
} else {
String str = this.messageObject.messageOwner.media.title;
if (str != null && str.length() > 0) {
((BaseFragment) this).actionBar.setTitle(LocaleController.getString("SharedPlace", R.string.SharedPlace));
} else {
((BaseFragment) this).actionBar.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation));
}
if (this.locationType != 3) {
ActionBarMenuItem addItem2 = createMenu.addItem(0, R.drawable.ic_ab_other, getResourceProvider());
this.otherItem = addItem2;
addItem2.addSubItem(1, R.drawable.msg_openin, LocaleController.getString("OpenInExternalApp", R.string.OpenInExternalApp));
if (!getLocationController().isSharingLocation(this.dialogId) && this.isSharingAllowed) {
this.otherItem.addSubItem(5, R.drawable.msg_location, LocaleController.getString("SendLiveLocationMenu", R.string.SendLiveLocationMenu));
}
this.otherItem.setContentDescription(LocaleController.getString("AccDescrMoreOptions", R.string.AccDescrMoreOptions));
}
}
} else {
((BaseFragment) this).actionBar.setTitle(LocaleController.getString("ShareLocation", R.string.ShareLocation));
if (this.locationType != 4) {
this.overlayView = new MapOverlayView(context);
ActionBarMenuItem actionBarMenuItemSearchListener = createMenu.addItem(0, R.drawable.ic_ab_search, getResourceProvider()).setIsSearchField(true).setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
@Override
public void onSearchExpand() {
LocationActivity.this.searching = true;
}
@Override
public void onSearchCollapse() {
LocationActivity.this.searching = false;
LocationActivity.this.searchWas = false;
LocationActivity.this.searchAdapter.searchDelayed(null, null);
LocationActivity.this.updateEmptyView();
if (LocationActivity.this.locationType == 8) {
if (LocationActivity.this.otherItem != null) {
LocationActivity.this.otherItem.setVisibility(0);
}
LocationActivity.this.listView.setVisibility(0);
LocationActivity.this.mapViewClip.setVisibility(0);
LocationActivity.this.searchListView.setAdapter((RecyclerView.Adapter) null);
LocationActivity.this.searchListView.setVisibility(8);
}
}
@Override
public void onTextChanged(EditText editText) {
if (LocationActivity.this.searchAdapter == null) {
return;
}
String obj = editText.getText().toString();
if (obj.length() != 0) {
LocationActivity.this.searchWas = true;
LocationActivity.this.searchItem.setShowSearchProgress(true);
if (LocationActivity.this.otherItem != null) {
LocationActivity.this.otherItem.setVisibility(8);
}
LocationActivity.this.listView.setVisibility(8);
LocationActivity.this.mapViewClip.setVisibility(8);
if (LocationActivity.this.searchListView.getAdapter() != LocationActivity.this.searchAdapter) {
LocationActivity.this.searchListView.setAdapter(LocationActivity.this.searchAdapter);
}
LocationActivity.this.searchListView.setVisibility(0);
LocationActivity locationActivity = LocationActivity.this;
locationActivity.searchInProgress = locationActivity.searchAdapter.getItemCount() == 0;
} else {
if (LocationActivity.this.otherItem != null) {
LocationActivity.this.otherItem.setVisibility(0);
}
LocationActivity.this.listView.setVisibility(0);
LocationActivity.this.mapViewClip.setVisibility(0);
LocationActivity.this.searchListView.setAdapter((RecyclerView.Adapter) null);
LocationActivity.this.searchListView.setVisibility(8);
}
LocationActivity.this.updateEmptyView();
LocationActivity.this.searchAdapter.searchDelayed(obj, LocationActivity.this.userLocation);
}
});
this.searchItem = actionBarMenuItemSearchListener;
int i8 = R.string.Search;
actionBarMenuItemSearchListener.setSearchFieldHint(LocaleController.getString("Search", i8));
this.searchItem.setContentDescription(LocaleController.getString("Search", i8));
EditTextBoldCursor searchField = this.searchItem.getSearchField();
searchField.setTextColor(getThemedColor(i7));
searchField.setCursorColor(getThemedColor(i7));
searchField.setHintTextColor(getThemedColor(Theme.key_chat_messagePanelHint));
}
}
}
FrameLayout frameLayout = new FrameLayout(context) {
public boolean first = true;
@Override
public void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
if (changed) {
LocationActivity.this.fixLayoutInternal(this.first);
this.first = false;
} else {
LocationActivity.this.updateClipView(true);
}
}
@Override
public boolean drawChild(Canvas canvas, View child, long drawingTime) {
boolean drawChild = super.drawChild(canvas, child, drawingTime);
if (child == ((BaseFragment) LocationActivity.this).actionBar && ((BaseFragment) LocationActivity.this).parentLayout != null) {
((BaseFragment) LocationActivity.this).parentLayout.drawHeaderShadow(canvas, ((BaseFragment) LocationActivity.this).actionBar.getMeasuredHeight());
}
return drawChild;
}
};
((BaseFragment) this).fragmentView = frameLayout;
FrameLayout frameLayout2 = frameLayout;
frameLayout.setBackgroundColor(getThemedColor(i6));
Drawable mutate = context.getResources().getDrawable(R.drawable.sheet_shadow_round).mutate();
this.shadowDrawable = mutate;
mutate.setColorFilter(new PorterDuffColorFilter(getThemedColor(i6), PorterDuff.Mode.MULTIPLY));
final Rect rect = new Rect();
this.shadowDrawable.getPadding(rect);
int i9 = this.locationType;
if (i9 == 0 || i9 == 1) {
layoutParams = new FrameLayout.LayoutParams(-1, AndroidUtilities.dp(21.0f) + rect.top);
} else {
layoutParams = new FrameLayout.LayoutParams(-1, AndroidUtilities.dp(6.0f) + rect.top);
}
FrameLayout.LayoutParams layoutParams2 = layoutParams;
layoutParams2.gravity = 83;
FrameLayout frameLayout3 = new FrameLayout(context) {
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (LocationActivity.this.overlayView != null) {
LocationActivity.this.overlayView.updatePositions();
}
}
};
this.mapViewClip = frameLayout3;
frameLayout3.setBackgroundDrawable(new MapPlaceholderDrawable(isActiveThemeDark()));
MessageObject messageObject2 = this.messageObject;
if ((messageObject2 == null && ((i4 = this.locationType) == 0 || i4 == 1)) || (messageObject2 != null && this.locationType == 3)) {
SearchButton searchButton = new SearchButton(context);
this.searchAreaButton = searchButton;
searchButton.setTranslationX(-AndroidUtilities.dp(80.0f));
Drawable createSimpleSelectorRoundRectDrawable = Theme.createSimpleSelectorRoundRectDrawable(AndroidUtilities.dp(40.0f), getThemedColor(Theme.key_location_actionBackground), getThemedColor(Theme.key_location_actionPressedBackground));
if (i5 < 21) {
Drawable mutate2 = context.getResources().getDrawable(R.drawable.places_btn).mutate();
mutate2.setColorFilter(new PorterDuffColorFilter(-16777216, PorterDuff.Mode.MULTIPLY));
Drawable combinedDrawable = new CombinedDrawable(mutate2, createSimpleSelectorRoundRectDrawable, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(2.0f));
combinedDrawable.setFullsize(true);
createSimpleSelectorRoundRectDrawable = combinedDrawable;
} else {
StateListAnimator stateListAnimator = new StateListAnimator();
int[] iArr = {android.R.attr.state_pressed};
SearchButton searchButton2 = this.searchAreaButton;
Property property = View.TRANSLATION_Z;
stateListAnimator.addState(iArr, ObjectAnimator.ofFloat(searchButton2, (Property<SearchButton, Float>) property, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(4.0f)).setDuration(200L));
stateListAnimator.addState(new int[0], ObjectAnimator.ofFloat(this.searchAreaButton, (Property<SearchButton, Float>) property, AndroidUtilities.dp(4.0f), AndroidUtilities.dp(2.0f)).setDuration(200L));
this.searchAreaButton.setStateListAnimator(stateListAnimator);
this.searchAreaButton.setOutlineProvider(new ViewOutlineProvider(this) {
@Override
@SuppressLint({"NewApi"})
public void getOutline(View view, Outline outline) {
outline.setRoundRect(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight(), view.getMeasuredHeight() / 2);
}
});
}
this.searchAreaButton.setBackgroundDrawable(createSimpleSelectorRoundRectDrawable);
this.searchAreaButton.setTextColor(getThemedColor(Theme.key_location_actionActiveIcon));
this.searchAreaButton.setTextSize(1, 14.0f);
this.searchAreaButton.setTypeface(AndroidUtilities.bold());
this.searchAreaButton.setGravity(17);
this.searchAreaButton.setPadding(AndroidUtilities.dp(20.0f), 0, AndroidUtilities.dp(20.0f), 0);
this.mapViewClip.addView(this.searchAreaButton, LayoutHelper.createFrame(-2, i5 >= 21 ? 40.0f : 44.0f, 49, 80.0f, 12.0f, 80.0f, 0.0f));
if (this.locationType == 3) {
this.searchAreaButton.setText(LocaleController.getString(R.string.OpenInMaps));
this.searchAreaButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.this.lambda$createView$0(view);
}
});
this.searchAreaButton.setTranslationX(0.0f);
} else {
this.searchAreaButton.setText(LocaleController.getString(R.string.PlacesInThisArea));
this.searchAreaButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.this.lambda$createView$1(view);
}
});
}
}
int i10 = Theme.key_location_actionIcon;
ActionBarMenuItem actionBarMenuItem = new ActionBarMenuItem(context, (ActionBarMenu) null, 0, getThemedColor(i10), getResourceProvider());
this.mapTypeButton = actionBarMenuItem;
actionBarMenuItem.setClickable(true);
this.mapTypeButton.setSubMenuOpenSide(2);
this.mapTypeButton.setAdditionalXOffset(AndroidUtilities.dp(10.0f));
this.mapTypeButton.setAdditionalYOffset(-AndroidUtilities.dp(10.0f));
this.mapTypeButton.addSubItem(2, R.drawable.msg_map, LocaleController.getString("Map", R.string.Map), getResourceProvider());
this.mapTypeButton.addSubItem(3, R.drawable.msg_satellite, LocaleController.getString("Satellite", R.string.Satellite), getResourceProvider());
this.mapTypeButton.addSubItem(4, R.drawable.msg_hybrid, LocaleController.getString("Hybrid", R.string.Hybrid), getResourceProvider());
this.mapTypeButton.setContentDescription(LocaleController.getString("AccDescrMoreOptions", R.string.AccDescrMoreOptions));
int dp = AndroidUtilities.dp(40.0f);
int i11 = Theme.key_location_actionBackground;
int themedColor = getThemedColor(i11);
int i12 = Theme.key_location_actionPressedBackground;
Drawable createSimpleSelectorCircleDrawable = Theme.createSimpleSelectorCircleDrawable(dp, themedColor, getThemedColor(i12));
if (i5 < 21) {
Drawable mutate3 = context.getResources().getDrawable(R.drawable.floating_shadow_profile).mutate();
mutate3.setColorFilter(new PorterDuffColorFilter(-16777216, PorterDuff.Mode.MULTIPLY));
Drawable combinedDrawable2 = new CombinedDrawable(mutate3, createSimpleSelectorCircleDrawable, 0, 0);
combinedDrawable2.setIconSize(AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
i = i11;
drawable = combinedDrawable2;
actionBarMenu = createMenu;
} else {
StateListAnimator stateListAnimator2 = new StateListAnimator();
int[] iArr2 = {android.R.attr.state_pressed};
ActionBarMenuItem actionBarMenuItem2 = this.mapTypeButton;
Property property2 = View.TRANSLATION_Z;
i = i11;
stateListAnimator2.addState(iArr2, ObjectAnimator.ofFloat(actionBarMenuItem2, (Property<ActionBarMenuItem, Float>) property2, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(4.0f)).setDuration(200L));
actionBarMenu = createMenu;
stateListAnimator2.addState(new int[0], ObjectAnimator.ofFloat(this.mapTypeButton, (Property<ActionBarMenuItem, Float>) property2, AndroidUtilities.dp(4.0f), AndroidUtilities.dp(2.0f)).setDuration(200L));
this.mapTypeButton.setStateListAnimator(stateListAnimator2);
this.mapTypeButton.setOutlineProvider(new ViewOutlineProvider(this) {
@Override
@SuppressLint({"NewApi"})
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
}
});
drawable = createSimpleSelectorCircleDrawable;
}
this.mapTypeButton.setBackgroundDrawable(drawable);
this.mapTypeButton.setIcon(R.drawable.msg_map_type);
this.mapViewClip.addView(this.mapTypeButton, LayoutHelper.createFrame(i5 >= 21 ? 40 : 44, i5 >= 21 ? 40.0f : 44.0f, 53, 0.0f, 12.0f, 12.0f, 0.0f));
this.mapTypeButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.this.lambda$createView$2(view);
}
});
this.mapTypeButton.setDelegate(new ActionBarMenuItem.ActionBarMenuItemDelegate() {
@Override
public final void onItemClick(int i13) {
LocationActivity.this.lambda$createView$3(i13);
}
});
this.locationButton = new ImageView(context);
Drawable createSimpleSelectorCircleDrawable2 = Theme.createSimpleSelectorCircleDrawable(AndroidUtilities.dp(40.0f), getThemedColor(i), getThemedColor(i12));
if (i5 < 21) {
Drawable mutate4 = context.getResources().getDrawable(R.drawable.floating_shadow_profile).mutate();
mutate4.setColorFilter(new PorterDuffColorFilter(-16777216, PorterDuff.Mode.MULTIPLY));
Drawable combinedDrawable3 = new CombinedDrawable(mutate4, createSimpleSelectorCircleDrawable2, 0, 0);
combinedDrawable3.setIconSize(AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
drawable2 = combinedDrawable3;
i2 = i;
} else {
StateListAnimator stateListAnimator3 = new StateListAnimator();
int[] iArr3 = {android.R.attr.state_pressed};
ImageView imageView = this.locationButton;
Property property3 = View.TRANSLATION_Z;
i2 = i;
stateListAnimator3.addState(iArr3, ObjectAnimator.ofFloat(imageView, (Property<ImageView, Float>) property3, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(4.0f)).setDuration(200L));
stateListAnimator3.addState(new int[0], ObjectAnimator.ofFloat(this.locationButton, (Property<ImageView, Float>) property3, AndroidUtilities.dp(4.0f), AndroidUtilities.dp(2.0f)).setDuration(200L));
this.locationButton.setStateListAnimator(stateListAnimator3);
this.locationButton.setOutlineProvider(new ViewOutlineProvider(this) {
@Override
@SuppressLint({"NewApi"})
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
}
});
drawable2 = createSimpleSelectorCircleDrawable2;
}
this.locationButton.setBackgroundDrawable(drawable2);
this.locationButton.setImageResource(R.drawable.msg_current_location);
this.locationButton.setScaleType(ImageView.ScaleType.CENTER);
ImageView imageView2 = this.locationButton;
int i13 = Theme.key_location_actionActiveIcon;
imageView2.setColorFilter(new PorterDuffColorFilter(getThemedColor(i13), PorterDuff.Mode.MULTIPLY));
this.locationButton.setTag(Integer.valueOf(i13));
this.locationButton.setContentDescription(LocaleController.getString("AccDescrMyLocation", R.string.AccDescrMyLocation));
FrameLayout.LayoutParams createFrame = LayoutHelper.createFrame(i5 >= 21 ? 40 : 44, i5 >= 21 ? 40.0f : 44.0f, 85, 0.0f, 0.0f, 12.0f, 12.0f);
createFrame.bottomMargin += layoutParams2.height - rect.top;
this.mapViewClip.addView(this.locationButton, createFrame);
this.locationButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.this.lambda$createView$4(view);
}
});
this.proximityButton = new ImageView(context);
Drawable createSimpleSelectorCircleDrawable3 = Theme.createSimpleSelectorCircleDrawable(AndroidUtilities.dp(40.0f), getThemedColor(i2), getThemedColor(i12));
if (i5 < 21) {
Drawable mutate5 = context.getResources().getDrawable(R.drawable.floating_shadow_profile).mutate();
mutate5.setColorFilter(new PorterDuffColorFilter(-16777216, PorterDuff.Mode.MULTIPLY));
Drawable combinedDrawable4 = new CombinedDrawable(mutate5, createSimpleSelectorCircleDrawable3, 0, 0);
combinedDrawable4.setIconSize(AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
createSimpleSelectorCircleDrawable3 = combinedDrawable4;
actionBarMenu2 = actionBarMenu;
} else {
StateListAnimator stateListAnimator4 = new StateListAnimator();
int[] iArr4 = {android.R.attr.state_pressed};
ImageView imageView3 = this.proximityButton;
Property property4 = View.TRANSLATION_Z;
actionBarMenu2 = actionBarMenu;
stateListAnimator4.addState(iArr4, ObjectAnimator.ofFloat(imageView3, (Property<ImageView, Float>) property4, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(4.0f)).setDuration(200L));
stateListAnimator4.addState(new int[0], ObjectAnimator.ofFloat(this.proximityButton, (Property<ImageView, Float>) property4, AndroidUtilities.dp(4.0f), AndroidUtilities.dp(2.0f)).setDuration(200L));
this.proximityButton.setStateListAnimator(stateListAnimator4);
this.proximityButton.setOutlineProvider(new ViewOutlineProvider(this) {
@Override
@SuppressLint({"NewApi"})
public void getOutline(View view, Outline outline) {
outline.setOval(0, 0, AndroidUtilities.dp(40.0f), AndroidUtilities.dp(40.0f));
}
});
}
this.proximityButton.setColorFilter(new PorterDuffColorFilter(getThemedColor(i10), PorterDuff.Mode.MULTIPLY));
this.proximityButton.setBackgroundDrawable(createSimpleSelectorCircleDrawable3);
this.proximityButton.setScaleType(ImageView.ScaleType.CENTER);
this.proximityButton.setContentDescription(LocaleController.getString("AccDescrLocationNotify", R.string.AccDescrLocationNotify));
this.mapViewClip.addView(this.proximityButton, LayoutHelper.createFrame(i5 >= 21 ? 40 : 44, i5 >= 21 ? 40.0f : 44.0f, 53, 0.0f, 62.0f, 12.0f, 0.0f));
this.proximityButton.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
LocationActivity.this.lambda$createView$7(view);
}
});
TLRPC.Chat chat = DialogObject.isChatDialog(this.dialogId) ? getMessagesController().getChat(Long.valueOf(-this.dialogId)) : null;
MessageObject messageObject3 = this.messageObject;
if (messageObject3 == null || !messageObject3.isLiveLocation() || this.messageObject.isExpiredLiveLocation(getConnectionsManager().getCurrentTime()) || (ChatObject.isChannel(chat) && !chat.megagroup)) {
this.proximityButton.setVisibility(8);
this.proximityButton.setImageResource(R.drawable.msg_location_alert);
} else {
LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId);
if (sharingLocationInfo != null && sharingLocationInfo.proximityMeters > 0) {
this.proximityButton.setImageResource(R.drawable.msg_location_alert2);
} else {
if (DialogObject.isUserDialog(this.dialogId) && this.messageObject.getFromChatId() == getUserConfig().getClientUserId()) {
this.proximityButton.setVisibility(4);
this.proximityButton.setAlpha(0.0f);
this.proximityButton.setScaleX(0.4f);
this.proximityButton.setScaleY(0.4f);
}
this.proximityButton.setImageResource(R.drawable.msg_location_alert);
}
}
HintView2 hintView2 = new HintView2(context, 1);
this.hintView = hintView2;
hintView2.setLayerType(2, null);
this.hintView.setDuration(4000L);
this.hintView.setJoint(1.0f, -25.0f);
this.hintView.setPadding(0, AndroidUtilities.dp(4.0f), 0, 0);
this.mapViewClip.addView((View) this.hintView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -2.0f, 51, 8.0f, 106.0f, 8.0f, 0.0f));
LinearLayout linearLayout = new LinearLayout(context);
this.emptyView = linearLayout;
linearLayout.setOrientation(1);
this.emptyView.setGravity(1);
this.emptyView.setPadding(0, AndroidUtilities.dp(160.0f), 0, 0);
this.emptyView.setVisibility(8);
frameLayout2.addView(this.emptyView, LayoutHelper.createFrame(-1, -1.0f));
this.emptyView.setOnTouchListener(new View.OnTouchListener() {
@Override
public final boolean onTouch(View view, MotionEvent motionEvent) {
boolean lambda$createView$8;
lambda$createView$8 = LocationActivity.lambda$createView$8(view, motionEvent);
return lambda$createView$8;
}
});
ImageView imageView4 = new ImageView(context);
this.emptyImageView = imageView4;
imageView4.setImageResource(R.drawable.location_empty);
this.emptyImageView.setColorFilter(new PorterDuffColorFilter(getThemedColor(Theme.key_dialogEmptyImage), PorterDuff.Mode.MULTIPLY));
this.emptyView.addView(this.emptyImageView, LayoutHelper.createLinear(-2, -2));
TextView textView = new TextView(context);
this.emptyTitleTextView = textView;
int i14 = Theme.key_dialogEmptyText;
textView.setTextColor(getThemedColor(i14));
this.emptyTitleTextView.setGravity(17);
this.emptyTitleTextView.setTypeface(AndroidUtilities.bold());
this.emptyTitleTextView.setTextSize(1, 17.0f);
this.emptyTitleTextView.setText(LocaleController.getString("NoPlacesFound", R.string.NoPlacesFound));
this.emptyView.addView(this.emptyTitleTextView, LayoutHelper.createLinear(-2, -2, 17, 0, 11, 0, 0));
TextView textView2 = new TextView(context);
this.emptySubtitleTextView = textView2;
textView2.setTextColor(getThemedColor(i14));
this.emptySubtitleTextView.setGravity(17);
this.emptySubtitleTextView.setTextSize(1, 15.0f);
this.emptySubtitleTextView.setPadding(AndroidUtilities.dp(40.0f), 0, AndroidUtilities.dp(40.0f), 0);
this.emptyView.addView(this.emptySubtitleTextView, LayoutHelper.createLinear(-2, -2, 17, 0, 6, 0, 0));
RecyclerListView recyclerListView = new RecyclerListView(context);
this.listView = recyclerListView;
LocationActivityAdapter locationActivityAdapter2 = new LocationActivityAdapter(context, this.locationType, this.dialogId, false, getResourceProvider(), false, this.locationType == 8) {
public boolean firstSet = true;
@Override
public void onDirectionClick() {
LocationActivity.this.openDirections(null);
}
@Override
public void setLiveLocations(ArrayList<LiveLocation> liveLocations) {
int i15;
if (LocationActivity.this.messageObject != null && LocationActivity.this.messageObject.isLiveLocation()) {
if (liveLocations != null) {
i15 = 0;
for (int i16 = 0; i16 < liveLocations.size(); i16++) {
LiveLocation liveLocation = liveLocations.get(i16);
if (liveLocation != null && !UserObject.isUserSelf(liveLocation.user)) {
i15++;
}
}
} else {
i15 = 0;
}
if (this.firstSet && i15 == 1) {
LocationActivity.this.selectedMarkerId = liveLocations.get(0).id;
}
this.firstSet = false;
LocationActivity.this.otherItem.setVisibility(i15 != 1 ? 8 : 0);
}
super.setLiveLocations(liveLocations);
}
};
this.adapter = locationActivityAdapter2;
recyclerListView.setAdapter(locationActivityAdapter2);
this.adapter.setMyLocationDenied(this.locationDenied, false);
this.adapter.setUpdateRunnable(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$9();
}
});
this.listView.setVerticalScrollBarEnabled(false);
RecyclerListView recyclerListView2 = this.listView;
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, 1, false);
this.layoutManager = linearLayoutManager;
recyclerListView2.setLayoutManager(linearLayoutManager);
frameLayout2.addView((View) this.listView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -1, 51));
MessageObject messageObject4 = this.messageObject;
if (messageObject4 != null && (message = messageObject4.messageOwner) != null && (messageMedia = message.media) != null && !TextUtils.isEmpty(messageMedia.address)) {
this.adapter.setAddressNameOverride(this.messageObject.messageOwner.media.address);
}
this.listView.setOnScrollListener(new RecyclerView.OnScrollListener() {
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
LocationActivity.this.scrolling = newState != 0;
if (LocationActivity.this.scrolling || LocationActivity.this.forceUpdate == null) {
return;
}
LocationActivity.this.forceUpdate = null;
}
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
LocationActivity.this.updateClipView(false);
if (LocationActivity.this.forceUpdate != null) {
LocationActivity.this.yOffset += dy;
}
}
});
this.listView.getItemAnimator().setDelayAnimations(false);
this.listView.setOnItemLongClickListener(new RecyclerListView.OnItemLongClickListener() {
public final boolean onItemClick(View view, int i15) {
boolean lambda$createView$11;
lambda$createView$11 = LocationActivity.this.lambda$createView$11(context, view, i15);
return lambda$createView$11;
}
});
this.listView.setOnItemClickListener(new RecyclerListView.OnItemClickListener() {
public final void onItemClick(View view, int i15) {
LocationActivity.this.lambda$createView$17(view, i15);
}
});
this.adapter.setDelegate(this.dialogId, new BaseLocationAdapter.BaseLocationAdapterDelegate() {
@Override
public final void didLoadSearchResult(ArrayList arrayList) {
LocationActivity.this.updatePlacesMarkers(arrayList);
}
});
this.adapter.setOverScrollHeight(this.overScrollHeight);
frameLayout2.addView(this.mapViewClip, LayoutHelper.createFrame(-1, -1, 51));
IMapsProvider.IMapView onCreateMapView = ApplicationLoader.getMapsProvider().onCreateMapView(context);
this.mapView = onCreateMapView;
onCreateMapView.getView().setAlpha(0.0f);
this.mapView.setOnDispatchTouchEventInterceptor(new IMapsProvider.ITouchInterceptor() {
public final boolean onInterceptTouchEvent(MotionEvent motionEvent, IMapsProvider.ICallableMethod iCallableMethod) {
boolean lambda$createView$18;
lambda$createView$18 = LocationActivity.this.lambda$createView$18(motionEvent, iCallableMethod);
return lambda$createView$18;
}
});
this.mapView.setOnInterceptTouchEventInterceptor(new IMapsProvider.ITouchInterceptor() {
public final boolean onInterceptTouchEvent(MotionEvent motionEvent, IMapsProvider.ICallableMethod iCallableMethod) {
boolean lambda$createView$19;
lambda$createView$19 = LocationActivity.this.lambda$createView$19(motionEvent, iCallableMethod);
return lambda$createView$19;
}
});
this.mapView.setOnLayoutListener(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$21();
}
});
final IMapsProvider.IMapView iMapView = this.mapView;
new Thread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$24(iMapView);
}
}).start();
MessageObject messageObject5 = this.messageObject;
if (messageObject5 == null && this.chatLocation == null) {
if (chat != null && this.locationType == 4 && this.dialogId != 0) {
FrameLayout frameLayout4 = new FrameLayout(context);
frameLayout4.setBackgroundResource(R.drawable.livepin);
this.mapViewClip.addView(frameLayout4, LayoutHelper.createFrame(62, 76, 49));
BackupImageView backupImageView = new BackupImageView(context);
backupImageView.setRoundRadius(AndroidUtilities.dp(26.0f));
backupImageView.setForUserOrChat(chat, new AvatarDrawable(chat));
frameLayout4.addView((View) backupImageView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(52, 52.0f, 51, 5.0f, 5.0f, 0.0f, 0.0f));
this.markerImageView = frameLayout4;
frameLayout4.setTag(1);
}
if (this.markerImageView == null) {
ImageView imageView5 = new ImageView(context);
imageView5.setImageResource(R.drawable.map_pin2);
this.mapViewClip.addView(imageView5, LayoutHelper.createFrame(28, 48, 49));
this.markerImageView = imageView5;
}
RecyclerListView recyclerListView3 = new RecyclerListView(context);
this.searchListView = recyclerListView3;
recyclerListView3.setVisibility(8);
i3 = 0;
this.searchListView.setLayoutManager(new LinearLayoutManager(context, 1, false));
LocationActivitySearchAdapter locationActivitySearchAdapter2 = new LocationActivitySearchAdapter(context, getResourceProvider(), false, this.locationType == 8) {
public void notifyDataSetChanged() {
if (LocationActivity.this.searchItem != null) {
LocationActivity.this.searchItem.setShowSearchProgress(LocationActivity.this.searchAdapter.isSearching());
}
if (LocationActivity.this.emptySubtitleTextView != null) {
LocationActivity.this.emptySubtitleTextView.setText(AndroidUtilities.replaceTags(LocaleController.formatString("NoPlacesFoundInfo", R.string.NoPlacesFoundInfo, new Object[]{LocationActivity.this.searchAdapter.getLastSearchString()})));
}
super/*androidx.recyclerview.widget.RecyclerView.Adapter*/.notifyDataSetChanged();
}
};
this.searchAdapter = locationActivitySearchAdapter2;
locationActivitySearchAdapter2.setDelegate(0L, new BaseLocationAdapter.BaseLocationAdapterDelegate() {
@Override
public final void didLoadSearchResult(ArrayList arrayList) {
LocationActivity.this.lambda$createView$25(arrayList);
}
});
frameLayout2.addView((View) this.searchListView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -1, 51));
this.searchListView.setOnScrollListener(new RecyclerView.OnScrollListener() {
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
if (newState == 1 && LocationActivity.this.searching && LocationActivity.this.searchWas) {
AndroidUtilities.hideKeyboard(LocationActivity.this.getParentActivity().getCurrentFocus());
}
}
});
final ActionBarMenu actionBarMenu3 = actionBarMenu2;
this.searchListView.setOnItemClickListener(new RecyclerListView.OnItemClickListener() {
public final void onItemClick(View view, int i15) {
LocationActivity.this.lambda$createView$27(actionBarMenu3, view, i15);
}
});
} else {
i3 = 0;
if ((messageObject5 != null && !messageObject5.isLiveLocation()) || this.chatLocation != null) {
TLRPC.TL_channelLocation tL_channelLocation = this.chatLocation;
if (tL_channelLocation != null) {
this.adapter.setChatLocation(tL_channelLocation);
} else {
MessageObject messageObject6 = this.messageObject;
if (messageObject6 != null) {
this.adapter.setMessageObject(messageObject6);
}
}
}
}
MessageObject messageObject7 = this.messageObject;
if (messageObject7 != null && this.locationType == 6) {
this.adapter.setMessageObject(messageObject7);
}
while (i3 < 2) {
this.undoView[i3] = new UndoView(context);
this.undoView[i3].setAdditionalTranslationY(AndroidUtilities.dp(10.0f));
if (Build.VERSION.SDK_INT >= 21) {
this.undoView[i3].setTranslationZ(AndroidUtilities.dp(5.0f));
}
this.mapViewClip.addView(this.undoView[i3], LayoutHelper.createFrame(-1, -2.0f, 83, 8.0f, 0.0f, 8.0f, 8.0f));
i3++;
}
View view = new View(context) {
public RectF rect = new RectF();
@Override
public void onDraw(Canvas canvas) {
LocationActivity.this.shadowDrawable.setBounds(-rect.left, 0, getMeasuredWidth() + rect.right, getMeasuredHeight());
LocationActivity.this.shadowDrawable.draw(canvas);
if (LocationActivity.this.locationType == 0 || LocationActivity.this.locationType == 1) {
int dp2 = AndroidUtilities.dp(36.0f);
this.rect.set((getMeasuredWidth() - dp2) / 2, rect.top + AndroidUtilities.dp(10.0f), (getMeasuredWidth() + dp2) / 2, r1 + AndroidUtilities.dp(4.0f));
int themedColor2 = LocationActivity.this.getThemedColor(Theme.key_sheet_scrollUp);
Color.alpha(themedColor2);
Theme.dialogs_onlineCirclePaint.setColor(themedColor2);
canvas.drawRoundRect(this.rect, AndroidUtilities.dp(2.0f), AndroidUtilities.dp(2.0f), Theme.dialogs_onlineCirclePaint);
}
}
};
this.shadow = view;
if (Build.VERSION.SDK_INT >= 21) {
view.setTranslationZ(AndroidUtilities.dp(6.0f));
}
this.mapViewClip.addView(this.shadow, layoutParams2);
if (this.messageObject == null && this.chatLocation == null && this.initialLocation != null) {
this.userLocationMoved = true;
ImageView imageView6 = this.locationButton;
int i15 = Theme.key_location_actionIcon;
imageView6.setColorFilter(new PorterDuffColorFilter(getThemedColor(i15), PorterDuff.Mode.MULTIPLY));
this.locationButton.setTag(Integer.valueOf(i15));
}
frameLayout2.addView(((BaseFragment) this).actionBar);
updateEmptyView();
return ((BaseFragment) this).fragmentView;
}
public void lambda$createView$0(View view) {
try {
TLRPC.GeoPoint geoPoint = this.messageObject.messageOwner.media.geo;
double d = geoPoint.lat;
double d2 = geoPoint._long;
getParentActivity().startActivity(new Intent("android.intent.action.VIEW", Uri.parse("geo:" + d + "," + d2 + "?q=" + d + "," + d2)));
} catch (Exception e) {
FileLog.e(e);
}
}
public void lambda$createView$1(View view) {
showSearchPlacesButton(false);
this.adapter.searchPlacesWithQuery(null, this.userLocation, true, true);
this.searchedForCustomLocations = true;
showResults();
}
public void lambda$createView$2(View view) {
this.mapTypeButton.toggleSubMenu();
}
public void lambda$createView$3(int i) {
IMapsProvider.IMap iMap = this.map;
if (iMap == null) {
return;
}
if (i == 2) {
iMap.setMapType(0);
} else if (i == 3) {
iMap.setMapType(1);
} else if (i == 4) {
iMap.setMapType(2);
}
}
public void lambda$createView$4(View view) {
IMapsProvider.IMap iMap;
Activity parentActivity;
if (Build.VERSION.SDK_INT >= 23 && (parentActivity = getParentActivity()) != null && parentActivity.checkSelfPermission("android.permission.ACCESS_COARSE_LOCATION") != 0) {
showPermissionAlert(false);
return;
}
if (checkGpsEnabled() || this.locationType == 3) {
if ((this.messageObject != null && this.locationType != 3) || this.chatLocation != null) {
if (this.myLocation != null && (iMap = this.map) != null) {
iMap.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(new IMapsProvider.LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude()), this.map.getMaxZoomLevel() - 4.0f));
}
} else 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(null);
this.userLocationMoved = false;
showSearchPlacesButton(false);
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(new IMapsProvider.LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude())));
if (this.searchedForCustomLocations && this.locationType != 8) {
Location location = this.myLocation;
if (location != null) {
this.adapter.searchPlacesWithQuery(null, location, true, true);
}
this.searchedForCustomLocations = false;
showResults();
}
}
removeInfoView();
}
}
public void lambda$createView$7(View view) {
if (getParentActivity() == null || this.myLocation == null || !checkGpsEnabled() || this.map == null) {
return;
}
HintView2 hintView2 = this.hintView;
if (hintView2 != null) {
hintView2.hide();
}
MessagesController.getGlobalMainSettings().edit().putInt("proximityhint", 3).commit();
final LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId);
if (this.canUndo) {
this.undoView[0].hide(true, 1);
}
if (sharingLocationInfo != null && sharingLocationInfo.proximityMeters > 0) {
this.proximityButton.setImageResource(R.drawable.msg_location_alert);
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.remove();
this.proximityCircle = null;
}
this.canUndo = true;
getUndoView().showWithAction(0L, 25, 0, (Object) null, new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$5();
}
}, new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$6(sharingLocationInfo);
}
});
return;
}
openProximityAlert();
}
public void lambda$createView$5() {
getLocationController().setProximityLocation(this.dialogId, 0, true);
this.canUndo = false;
}
public void lambda$createView$6(LocationController.SharingLocationInfo sharingLocationInfo) {
this.proximityButton.setImageResource(R.drawable.msg_location_alert2);
createCircle(sharingLocationInfo.proximityMeters);
this.canUndo = false;
}
public void lambda$createView$9() {
updateClipView(false);
}
public boolean lambda$createView$11(Context context, View view, int i) {
if (this.locationType == 2) {
Object item = this.adapter.getItem(i);
if (item instanceof LiveLocation) {
final LiveLocation liveLocation = (LiveLocation) item;
ActionBarPopupWindow.ActionBarPopupWindowLayout actionBarPopupWindowLayout = new ActionBarPopupWindow.ActionBarPopupWindowLayout(context);
ActionBarMenuSubItem actionBarMenuSubItem = new ActionBarMenuSubItem((Context) getParentActivity(), true, true, getResourceProvider());
actionBarMenuSubItem.setMinimumWidth(AndroidUtilities.dp(200.0f));
actionBarMenuSubItem.setTextAndIcon(LocaleController.getString("GetDirections", R.string.GetDirections), R.drawable.filled_directions);
actionBarMenuSubItem.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view2) {
LocationActivity.this.lambda$createView$10(liveLocation, view2);
}
});
actionBarPopupWindowLayout.addView(actionBarMenuSubItem);
int i2 = -2;
ActionBarPopupWindow actionBarPopupWindow = new ActionBarPopupWindow(actionBarPopupWindowLayout, i2, i2) {
@Override
public void dismiss() {
super.dismiss();
LocationActivity.this.popupWindow = null;
}
};
this.popupWindow = actionBarPopupWindow;
actionBarPopupWindow.setOutsideTouchable(true);
this.popupWindow.setClippingEnabled(true);
this.popupWindow.setInputMethodMode(2);
this.popupWindow.setSoftInputMode(0);
int[] iArr = new int[2];
view.getLocationInWindow(iArr);
this.popupWindow.showAtLocation(view, 48, 0, iArr[1] - AndroidUtilities.dp(52.0f));
this.popupWindow.dimBehind();
return true;
}
}
return false;
}
public void lambda$createView$10(LiveLocation liveLocation, View view) {
openDirections(liveLocation);
ActionBarPopupWindow actionBarPopupWindow = this.popupWindow;
if (actionBarPopupWindow != null) {
actionBarPopupWindow.dismiss();
}
}
public void lambda$createView$17(View view, int i) {
MessageObject messageObject;
final TLRPC.MessageMedia messageMedia;
this.selectedMarkerId = -1L;
int i2 = this.locationType;
if (i2 == 4) {
if (i != 1 || (messageMedia = (TLRPC.TL_messageMediaVenue) this.adapter.getItem(i)) == null) {
return;
}
if (this.dialogId == 0) {
this.delegate.didSelectLocation(messageMedia, 4, true, 0);
finishFragment();
return;
}
final AlertDialog[] alertDialogArr = {new AlertDialog(getParentActivity(), 3)};
TLRPC.TL_channels_editLocation tL_channels_editLocation = new TLRPC.TL_channels_editLocation();
tL_channels_editLocation.address = messageMedia.address;
tL_channels_editLocation.channel = getMessagesController().getInputChannel(-this.dialogId);
TLRPC.TL_inputGeoPoint tL_inputGeoPoint = new TLRPC.TL_inputGeoPoint();
tL_channels_editLocation.geo_point = tL_inputGeoPoint;
TLRPC.GeoPoint geoPoint = messageMedia.geo;
((TLRPC.InputGeoPoint) tL_inputGeoPoint).lat = geoPoint.lat;
((TLRPC.InputGeoPoint) tL_inputGeoPoint)._long = geoPoint._long;
final int sendRequest = getConnectionsManager().sendRequest(tL_channels_editLocation, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
LocationActivity.this.lambda$createView$13(alertDialogArr, messageMedia, tLObject, tL_error);
}
});
alertDialogArr[0].setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public final void onCancel(DialogInterface dialogInterface) {
LocationActivity.this.lambda$createView$14(sendRequest, dialogInterface);
}
});
showDialog(alertDialogArr[0]);
return;
}
if (i2 == 5) {
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
IMapsProvider mapsProvider = ApplicationLoader.getMapsProvider();
TLRPC.GeoPoint geoPoint2 = this.chatLocation.geo_point;
iMap.animateCamera(mapsProvider.newCameraUpdateLatLngZoom(new IMapsProvider.LatLng(geoPoint2.lat, geoPoint2._long), this.map.getMaxZoomLevel() - 4.0f));
return;
}
return;
}
if (i == 1 && (messageObject = this.messageObject) != null && (!messageObject.isLiveLocation() || this.locationType == 6)) {
IMapsProvider.IMap iMap2 = this.map;
if (iMap2 != null) {
IMapsProvider mapsProvider2 = ApplicationLoader.getMapsProvider();
TLRPC.GeoPoint geoPoint3 = this.messageObject.messageOwner.media.geo;
iMap2.animateCamera(mapsProvider2.newCameraUpdateLatLngZoom(new IMapsProvider.LatLng(geoPoint3.lat, geoPoint3._long), this.map.getMaxZoomLevel() - 4.0f));
return;
}
return;
}
if (i == 1 && this.locationType != 2) {
if (this.delegate == null || this.userLocation == null) {
return;
}
FrameLayout frameLayout = this.lastPressedMarkerView;
if (frameLayout != null) {
frameLayout.callOnClick();
return;
}
final TLRPC.MessageMedia tL_messageMediaGeo = new TLRPC.TL_messageMediaGeo();
TLRPC.TL_geoPoint tL_geoPoint = new TLRPC.TL_geoPoint();
tL_messageMediaGeo.geo = tL_geoPoint;
((TLRPC.GeoPoint) tL_geoPoint).lat = AndroidUtilities.fixLocationCoord(this.userLocation.getLatitude());
tL_messageMediaGeo.geo._long = AndroidUtilities.fixLocationCoord(this.userLocation.getLongitude());
ChatActivity chatActivity = this.parentFragment;
if (chatActivity != null && chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), this.parentFragment.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
public final void didSelectDate(boolean z, int i3) {
LocationActivity.this.lambda$createView$15(tL_messageMediaGeo, z, i3);
}
});
return;
} else {
this.delegate.didSelectLocation(tL_messageMediaGeo, this.locationType, true, 0);
finishFragment();
return;
}
}
if (this.locationType == 2 && getLocationController().isSharingLocation(this.dialogId) && this.adapter.getItemViewType(i) == 7) {
getLocationController().removeSharingLocation(this.dialogId);
this.adapter.notifyDataSetChanged();
finishFragment();
return;
}
if (this.locationType == 2 && getLocationController().isSharingLocation(this.dialogId) && this.adapter.getItemViewType(i) == 6) {
openShareLiveLocation(getLocationController().getSharingLocationInfo(this.dialogId).period != Integer.MAX_VALUE, 0);
return;
}
if ((i == 2 && this.locationType == 1) || ((i == 1 && this.locationType == 2) || (i == 3 && this.locationType == 3))) {
if (getLocationController().isSharingLocation(this.dialogId)) {
getLocationController().removeSharingLocation(this.dialogId);
this.adapter.notifyDataSetChanged();
finishFragment();
return;
}
openShareLiveLocation(false, 0);
return;
}
final Object item = this.adapter.getItem(i);
if (item instanceof TLRPC.TL_messageMediaVenue) {
ChatActivity chatActivity2 = this.parentFragment;
if (chatActivity2 != null && chatActivity2.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), this.parentFragment.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
public final void didSelectDate(boolean z, int i3) {
LocationActivity.this.lambda$createView$16(item, z, i3);
}
});
return;
} else {
this.delegate.didSelectLocation((TLRPC.TL_messageMediaVenue) item, this.locationType, true, 0);
finishFragment();
return;
}
}
if (item instanceof LiveLocation) {
LiveLocation liveLocation = (LiveLocation) item;
this.selectedMarkerId = liveLocation.id;
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(liveLocation.marker.getPosition(), this.map.getMaxZoomLevel() - 4.0f));
}
}
public void lambda$createView$13(final AlertDialog[] alertDialogArr, final TLRPC.TL_messageMediaVenue tL_messageMediaVenue, TLObject tLObject, TLRPC.TL_error tL_error) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$12(alertDialogArr, tL_messageMediaVenue);
}
});
}
public void lambda$createView$12(AlertDialog[] alertDialogArr, TLRPC.TL_messageMediaVenue tL_messageMediaVenue) {
try {
alertDialogArr[0].dismiss();
} catch (Throwable unused) {
}
alertDialogArr[0] = null;
this.delegate.didSelectLocation(tL_messageMediaVenue, 4, true, 0);
finishFragment();
}
public void lambda$createView$14(int i, DialogInterface dialogInterface) {
getConnectionsManager().cancelRequest(i, true);
}
public void lambda$createView$15(TLRPC.TL_messageMediaGeo tL_messageMediaGeo, boolean z, int i) {
this.delegate.didSelectLocation(tL_messageMediaGeo, this.locationType, z, i);
finishFragment();
}
public void lambda$createView$16(Object obj, boolean z, int i) {
this.delegate.didSelectLocation((TLRPC.TL_messageMediaVenue) obj, this.locationType, z, i);
finishFragment();
}
public boolean lambda$createView$18(MotionEvent motionEvent, IMapsProvider.ICallableMethod iCallableMethod) {
MotionEvent motionEvent2;
if (this.yOffset != 0.0f) {
motionEvent = MotionEvent.obtain(motionEvent);
motionEvent.offsetLocation(0.0f, (-this.yOffset) / 2.0f);
motionEvent2 = motionEvent;
} else {
motionEvent2 = null;
}
boolean booleanValue = ((Boolean) iCallableMethod.call(motionEvent)).booleanValue();
if (motionEvent2 != null) {
motionEvent2.recycle();
}
return booleanValue;
}
public boolean lambda$createView$19(MotionEvent motionEvent, IMapsProvider.ICallableMethod iCallableMethod) {
Location location;
if (this.messageObject == null && this.chatLocation == null) {
if (motionEvent.getAction() == 0) {
AnimatorSet animatorSet = this.animatorSet;
if (animatorSet != null) {
animatorSet.cancel();
}
AnimatorSet animatorSet2 = new AnimatorSet();
this.animatorSet = animatorSet2;
animatorSet2.setDuration(200L);
this.animatorSet.playTogether(ObjectAnimator.ofFloat(this.markerImageView, (Property<View, Float>) View.TRANSLATION_Y, this.markerTop - AndroidUtilities.dp(10.0f)));
this.animatorSet.start();
} else if (motionEvent.getAction() == 1) {
AnimatorSet animatorSet3 = this.animatorSet;
if (animatorSet3 != null) {
animatorSet3.cancel();
}
this.yOffset = 0.0f;
AnimatorSet animatorSet4 = new AnimatorSet();
this.animatorSet = animatorSet4;
animatorSet4.setDuration(200L);
this.animatorSet.playTogether(ObjectAnimator.ofFloat(this.markerImageView, (Property<View, Float>) View.TRANSLATION_Y, this.markerTop));
this.animatorSet.start();
this.adapter.fetchLocationAddress();
}
if (motionEvent.getAction() == 2) {
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;
}
IMapsProvider.IMap iMap = this.map;
if (iMap != null && (location = this.userLocation) != null) {
location.setLatitude(iMap.getCameraPosition().target.latitude);
this.userLocation.setLongitude(this.map.getCameraPosition().target.longitude);
}
this.adapter.setCustomLocation(this.userLocation);
}
}
return ((Boolean) iCallableMethod.call(motionEvent)).booleanValue();
}
public void lambda$createView$21() {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$20();
}
});
}
public void lambda$createView$20() {
IMapsProvider.ICameraUpdate iCameraUpdate = this.moveToBounds;
if (iCameraUpdate != null) {
this.map.moveCamera(iCameraUpdate);
this.moveToBounds = null;
}
}
public void lambda$createView$24(final IMapsProvider.IMapView iMapView) {
try {
iMapView.onCreate((Bundle) null);
} catch (Exception unused) {
}
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$createView$23(iMapView);
}
});
}
public void lambda$createView$23(IMapsProvider.IMapView iMapView) {
if (this.mapView == null || getParentActivity() == null) {
return;
}
try {
iMapView.onCreate((Bundle) null);
ApplicationLoader.getMapsProvider().initializeMaps(ApplicationLoader.applicationContext);
this.mapView.getMapAsync(new Consumer() {
public final void accept(Object obj) {
LocationActivity.this.lambda$createView$22((IMapsProvider.IMap) obj);
}
});
this.mapsInitialized = true;
if (this.onResumeCalled) {
this.mapView.onResume();
}
} catch (Exception e) {
FileLog.e(e);
}
}
public void lambda$createView$22(IMapsProvider.IMap iMap) {
this.map = iMap;
int mapThemeResId = getMapThemeResId();
if (mapThemeResId != 0) {
this.currentMapStyleDark = true;
this.map.setMapStyle(ApplicationLoader.getMapsProvider().loadRawResourceStyle(ApplicationLoader.applicationContext, mapThemeResId));
}
this.map.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), AndroidUtilities.dp(10.0f));
onMapInit();
}
public void lambda$createView$25(ArrayList arrayList) {
this.searchInProgress = false;
updateEmptyView();
}
public void lambda$createView$27(ActionBarMenu actionBarMenu, View view, int i) {
float maxZoomLevel;
float f;
final TLRPC.MessageMedia item = this.searchAdapter.getItem(i);
if (item != null && ((TLRPC.TL_messageMediaVenue) item).icon != null && this.locationType == 8 && this.map != null) {
this.userLocationMoved = true;
actionBarMenu.closeSearchField(true);
if ("pin".equals(((TLRPC.TL_messageMediaVenue) item).icon)) {
maxZoomLevel = this.map.getMaxZoomLevel();
f = 4.0f;
} else {
maxZoomLevel = this.map.getMaxZoomLevel();
f = 9.0f;
}
float f2 = maxZoomLevel - f;
IMapsProvider.IMap iMap = this.map;
IMapsProvider mapsProvider = ApplicationLoader.getMapsProvider();
TLRPC.GeoPoint geoPoint = item.geo;
iMap.animateCamera(mapsProvider.newCameraUpdateLatLngZoom(new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long), f2));
Location location = this.userLocation;
if (location != null) {
location.setLatitude(item.geo.lat);
this.userLocation.setLongitude(item.geo._long);
}
this.adapter.setCustomLocation(this.userLocation);
return;
}
if (item == null || this.delegate == null) {
return;
}
ChatActivity chatActivity = this.parentFragment;
if (chatActivity != null && chatActivity.isInScheduleMode()) {
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), this.parentFragment.getDialogId(), new AlertsCreator.ScheduleDatePickerDelegate() {
public final void didSelectDate(boolean z, int i2) {
LocationActivity.this.lambda$createView$26(item, z, i2);
}
});
} else {
this.delegate.didSelectLocation(item, this.locationType, true, 0);
finishFragment();
}
}
public void lambda$createView$26(TLRPC.TL_messageMediaVenue tL_messageMediaVenue, boolean z, int i) {
this.delegate.didSelectLocation(tL_messageMediaVenue, this.locationType, z, i);
finishFragment();
}
public final boolean isActiveThemeDark() {
return (getResourceProvider() == null && Theme.getActiveTheme().isDark()) || AndroidUtilities.computePerceivedBrightness(getThemedColor(Theme.key_windowBackgroundWhite)) < 0.721f;
}
public final int getMapThemeResId() {
if (AndroidUtilities.computePerceivedBrightness(getThemedColor(Theme.key_windowBackgroundWhite)) < 0.721f) {
return R.raw.mapstyle_night;
}
return 0;
}
public final void openDirections(LiveLocation location) {
double d;
double d2;
TLRPC.Message message;
if (location != null && (message = location.object) != null) {
TLRPC.GeoPoint geoPoint = message.media.geo;
d = geoPoint.lat;
d2 = geoPoint._long;
} else {
MessageObject messageObject = this.messageObject;
if (messageObject != null) {
TLRPC.GeoPoint geoPoint2 = messageObject.messageOwner.media.geo;
d = geoPoint2.lat;
d2 = geoPoint2._long;
} else {
TLRPC.GeoPoint geoPoint3 = this.chatLocation.geo_point;
d = geoPoint3.lat;
d2 = geoPoint3._long;
}
}
String str = BuildVars.isHuaweiStoreApp() ? "mapapp://navigation" : "http://maps.google.com/maps";
if (this.myLocation != null) {
try {
getParentActivity().startActivity(new Intent("android.intent.action.VIEW", Uri.parse(String.format(Locale.US, str + "?saddr=%f,%f&daddr=%f,%f", Double.valueOf(this.myLocation.getLatitude()), Double.valueOf(this.myLocation.getLongitude()), Double.valueOf(d), Double.valueOf(d2)))));
return;
} catch (Exception e) {
FileLog.e(e);
return;
}
}
try {
getParentActivity().startActivity(new Intent("android.intent.action.VIEW", Uri.parse(String.format(Locale.US, str + "?saddr=&daddr=%f,%f", Double.valueOf(d), Double.valueOf(d2)))));
} catch (Exception e2) {
FileLog.e(e2);
}
}
public final void updateEmptyView() {
if (this.searching) {
if (this.searchInProgress) {
this.searchListView.setEmptyView((View) null);
this.emptyView.setVisibility(8);
this.searchListView.setVisibility(8);
return;
}
this.searchListView.setEmptyView(this.emptyView);
return;
}
this.emptyView.setVisibility(8);
}
public final void showSearchPlacesButton(boolean show) {
SearchButton searchButton;
Location location;
Location location2;
if (this.locationType == 3) {
show = true;
}
if (show && (searchButton = this.searchAreaButton) != null && searchButton.getTag() == null && ((location = this.myLocation) == null || (location2 = this.userLocation) == null || location2.distanceTo(location) < 300.0f)) {
show = false;
}
SearchButton searchButton2 = this.searchAreaButton;
if (searchButton2 != null) {
if (!show || searchButton2.getTag() == null) {
if (show || this.searchAreaButton.getTag() != null) {
this.searchAreaButton.setTag(show ? 1 : null);
AnimatorSet animatorSet = new AnimatorSet();
Animator[] animatorArr = new Animator[1];
SearchButton searchButton3 = this.searchAreaButton;
Property property = View.TRANSLATION_X;
float[] fArr = new float[1];
fArr[0] = show ? 0.0f : -AndroidUtilities.dp(80.0f);
animatorArr[0] = ObjectAnimator.ofFloat(searchButton3, (Property<SearchButton, Float>) property, fArr);
animatorSet.playTogether(animatorArr);
animatorSet.setDuration(180L);
animatorSet.setInterpolator(CubicBezierInterpolator.EASE_OUT);
animatorSet.start();
}
}
}
}
public final Bitmap createUserBitmap(LiveLocation liveLocation) {
TLRPC.FileLocation fileLocation;
TLRPC.ChatPhoto chatPhoto;
TLRPC.UserProfilePhoto userProfilePhoto;
Bitmap bitmap = null;
try {
TLRPC.User user = liveLocation.user;
if (user != null && (userProfilePhoto = user.photo) != null) {
fileLocation = userProfilePhoto.photo_small;
} else {
TLRPC.Chat chat = liveLocation.chat;
fileLocation = (chat == null || (chatPhoto = chat.photo) == null) ? null : chatPhoto.photo_small;
}
Bitmap createBitmap = Bitmap.createBitmap(AndroidUtilities.dp(62.0f), AndroidUtilities.dp(85.0f), Bitmap.Config.ARGB_8888);
try {
createBitmap.eraseColor(0);
Canvas canvas = new Canvas(createBitmap);
Drawable drawable = ApplicationLoader.applicationContext.getResources().getDrawable(R.drawable.map_pin_photo);
drawable.setBounds(0, 0, AndroidUtilities.dp(62.0f), AndroidUtilities.dp(85.0f));
drawable.draw(canvas);
Paint paint = new Paint(1);
RectF rectF = new RectF();
canvas.save();
if (fileLocation != null) {
Bitmap decodeFile = BitmapFactory.decodeFile(getFileLoader().getPathToAttach(fileLocation, true).toString());
if (decodeFile != null) {
Shader.TileMode tileMode = Shader.TileMode.CLAMP;
BitmapShader bitmapShader = new BitmapShader(decodeFile, tileMode, tileMode);
Matrix matrix = new Matrix();
float dp = AndroidUtilities.dp(50.0f) / decodeFile.getWidth();
matrix.postTranslate(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f));
matrix.postScale(dp, dp);
paint.setShader(bitmapShader);
bitmapShader.setLocalMatrix(matrix);
rectF.set(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f), AndroidUtilities.dp(56.0f), AndroidUtilities.dp(56.0f));
canvas.drawRoundRect(rectF, AndroidUtilities.dp(25.0f), AndroidUtilities.dp(25.0f), paint);
}
} else {
AvatarDrawable avatarDrawable = new AvatarDrawable();
TLRPC.User user2 = liveLocation.user;
if (user2 != null) {
avatarDrawable.setInfo(((BaseFragment) this).currentAccount, user2);
} else {
TLRPC.Chat chat2 = liveLocation.chat;
if (chat2 != null) {
avatarDrawable.setInfo(((BaseFragment) this).currentAccount, chat2);
}
}
canvas.translate(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f));
avatarDrawable.setBounds(0, 0, AndroidUtilities.dp(50.0f), AndroidUtilities.dp(50.0f));
avatarDrawable.draw(canvas);
}
canvas.restore();
try {
canvas.setBitmap(null);
return createBitmap;
} catch (Exception unused) {
return createBitmap;
}
} catch (Throwable th) {
th = th;
bitmap = createBitmap;
FileLog.e(th);
return bitmap;
}
} catch (Throwable th2) {
th = th2;
}
}
public final long getMessageId(TLRPC.Message message) {
if (message.from_id != null) {
return MessageObject.getFromChatId(message);
}
return MessageObject.getDialogId(message);
}
public final void openProximityAlert() {
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle == null) {
createCircle(500);
} else {
this.previousRadius = iCircle.getRadius();
}
final TLRPC.User user = DialogObject.isUserDialog(this.dialogId) ? getMessagesController().getUser(Long.valueOf(this.dialogId)) : null;
View proximitySheet = new ProximitySheet(getParentActivity(), user, new ProximitySheet.onRadiusPickerChange() {
public final boolean run(boolean z, int i) {
boolean lambda$openProximityAlert$28;
lambda$openProximityAlert$28 = LocationActivity.this.lambda$openProximityAlert$28(z, i);
return lambda$openProximityAlert$28;
}
}, new ProximitySheet.onRadiusPickerChange() {
public final boolean run(boolean z, int i) {
boolean lambda$openProximityAlert$30;
lambda$openProximityAlert$30 = LocationActivity.this.lambda$openProximityAlert$30(user, z, i);
return lambda$openProximityAlert$30;
}
}, new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$openProximityAlert$31();
}
});
this.proximitySheet = proximitySheet;
((FrameLayout) ((BaseFragment) this).fragmentView).addView(proximitySheet, LayoutHelper.createFrame(-1, -1.0f));
this.proximitySheet.show();
}
public boolean lambda$openProximityAlert$28(boolean z, int i) {
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.setRadius(i);
if (z) {
moveToBounds(i, true, true);
}
}
if (DialogObject.isChatDialog(this.dialogId)) {
return true;
}
int size = this.markers.size();
for (int i2 = 0; i2 < size; i2++) {
LiveLocation liveLocation = this.markers.get(i2);
if (liveLocation.object != null && !UserObject.isUserSelf(liveLocation.user)) {
TLRPC.GeoPoint geoPoint = liveLocation.object.media.geo;
Location location = new Location("network");
location.setLatitude(geoPoint.lat);
location.setLongitude(geoPoint._long);
if (this.myLocation.distanceTo(location) > i) {
return true;
}
}
}
return false;
}
public boolean lambda$openProximityAlert$30(final TLRPC.User user, boolean z, final int i) {
if (getLocationController().getSharingLocationInfo(this.dialogId) == null) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("ShareLocationAlertTitle", R.string.ShareLocationAlertTitle));
builder.setMessage(LocaleController.getString("ShareLocationAlertText", R.string.ShareLocationAlertText));
builder.setPositiveButton(LocaleController.getString("ShareLocationAlertButton", R.string.ShareLocationAlertButton), new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i2) {
LocationActivity.this.lambda$openProximityAlert$29(user, i, dialogInterface, i2);
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
showDialog(builder.create());
return false;
}
this.proximitySheet.setRadiusSet();
this.proximityButton.setImageResource(R.drawable.msg_location_alert2);
getUndoView().showWithAction(0L, 24, Integer.valueOf(i), user, (Runnable) null, (Runnable) null);
getLocationController().setProximityLocation(this.dialogId, i, true);
return true;
}
public void lambda$openProximityAlert$29(TLRPC.User user, int i, DialogInterface dialogInterface, int i2) {
shareLiveLocation(user, 900, i);
}
public void lambda$openProximityAlert$31() {
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
iMap.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), AndroidUtilities.dp(10.0f));
}
if (!this.proximitySheet.getRadiusSet()) {
double d = this.previousRadius;
if (d > 0.0d) {
this.proximityCircle.setRadius(d);
} else {
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.remove();
this.proximityCircle = null;
}
}
}
this.proximitySheet = null;
}
public final void openShareLiveLocation(final boolean expand, final int proximityRadius) {
Activity parentActivity;
if (this.delegate == null || disablePermissionCheck() || getParentActivity() == null || this.myLocation == null || !checkGpsEnabled()) {
return;
}
if (this.checkBackgroundPermission && Build.VERSION.SDK_INT >= 29 && (parentActivity = getParentActivity()) != null) {
this.askWithRadius = proximityRadius;
this.checkBackgroundPermission = false;
SharedPreferences globalMainSettings = MessagesController.getGlobalMainSettings();
if (Math.abs((System.currentTimeMillis() / 1000) - globalMainSettings.getInt("backgroundloc", 0)) > 86400 && parentActivity.checkSelfPermission("android.permission.ACCESS_BACKGROUND_LOCATION") != 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() {
LocationActivity.this.lambda$openShareLiveLocation$32(expand);
}
}, (Theme.ResourcesProvider) null).show();
return;
}
}
final TLRPC.User user = DialogObject.isUserDialog(this.dialogId) ? getMessagesController().getUser(Long.valueOf(this.dialogId)) : null;
showDialog(AlertsCreator.createLocationUpdateDialog(getParentActivity(), expand, user, new MessagesStorage.IntCallback() {
public final void run(int i) {
LocationActivity.this.lambda$openShareLiveLocation$33(expand, user, proximityRadius, i);
}
}, (Theme.ResourcesProvider) null));
}
public void lambda$openShareLiveLocation$32(boolean z) {
openShareLiveLocation(z, this.askWithRadius);
}
public void lambda$openShareLiveLocation$33(boolean z, TLRPC.User user, int i, int i2) {
TLRPC.Message message;
TLRPC.MessageMedia messageMedia;
if (z) {
LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId);
if (sharingLocationInfo != null) {
TLRPC.TL_messages_editMessage tL_messages_editMessage = new TLRPC.TL_messages_editMessage();
tL_messages_editMessage.peer = getMessagesController().getInputPeer(sharingLocationInfo.did);
tL_messages_editMessage.id = sharingLocationInfo.mid;
tL_messages_editMessage.flags |= 16384;
TLRPC.TL_inputMediaGeoLive tL_inputMediaGeoLive = new TLRPC.TL_inputMediaGeoLive();
tL_messages_editMessage.media = tL_inputMediaGeoLive;
((TLRPC.InputMedia) tL_inputMediaGeoLive).stopped = false;
((TLRPC.InputMedia) tL_inputMediaGeoLive).geo_point = new TLRPC.TL_inputGeoPoint();
Location lastKnownLocation = LocationController.getInstance(((BaseFragment) this).currentAccount).getLastKnownLocation();
tL_messages_editMessage.media.geo_point.lat = AndroidUtilities.fixLocationCoord(lastKnownLocation.getLatitude());
tL_messages_editMessage.media.geo_point._long = AndroidUtilities.fixLocationCoord(lastKnownLocation.getLongitude());
tL_messages_editMessage.media.geo_point.accuracy_radius = (int) lastKnownLocation.getAccuracy();
TLRPC.InputMedia inputMedia = tL_messages_editMessage.media;
TLRPC.InputGeoPoint inputGeoPoint = inputMedia.geo_point;
if (inputGeoPoint.accuracy_radius != 0) {
inputGeoPoint.flags |= 1;
}
int i3 = sharingLocationInfo.lastSentProximityMeters;
int i4 = sharingLocationInfo.proximityMeters;
if (i3 != i4) {
inputMedia.proximity_notification_radius = i4;
inputMedia.flags |= 8;
}
inputMedia.heading = LocationController.getHeading(lastKnownLocation);
TLRPC.InputMedia inputMedia2 = tL_messages_editMessage.media;
int i5 = inputMedia2.flags | 4;
inputMedia2.flags = i5;
int i6 = i2 == Integer.MAX_VALUE ? Integer.MAX_VALUE : sharingLocationInfo.period + i2;
sharingLocationInfo.period = i6;
inputMedia2.period = i6;
sharingLocationInfo.stopTime = i2 != Integer.MAX_VALUE ? sharingLocationInfo.stopTime + i2 : Integer.MAX_VALUE;
inputMedia2.flags = i5 | 2;
MessageObject messageObject = sharingLocationInfo.messageObject;
if (messageObject != null && (message = messageObject.messageOwner) != null && (messageMedia = message.media) != null) {
messageMedia.period = i6;
getMessagesStorage().replaceMessageIfExists(sharingLocationInfo.messageObject.messageOwner, (ArrayList) null, (ArrayList) null, true);
}
getConnectionsManager().sendRequest(tL_messages_editMessage, (RequestDelegate) null);
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.liveLocationsChanged, new Object[0]);
return;
}
return;
}
shareLiveLocation(user, i2, i);
}
public final void shareLiveLocation(TLRPC.User user, int period, int radius) {
TLRPC.MessageMedia tL_messageMediaGeoLive = new TLRPC.TL_messageMediaGeoLive();
TLRPC.TL_geoPoint tL_geoPoint = new TLRPC.TL_geoPoint();
tL_messageMediaGeoLive.geo = tL_geoPoint;
((TLRPC.GeoPoint) tL_geoPoint).lat = AndroidUtilities.fixLocationCoord(this.myLocation.getLatitude());
tL_messageMediaGeoLive.geo._long = AndroidUtilities.fixLocationCoord(this.myLocation.getLongitude());
tL_messageMediaGeoLive.heading = LocationController.getHeading(this.myLocation);
int i = tL_messageMediaGeoLive.flags | 1;
tL_messageMediaGeoLive.flags = i;
tL_messageMediaGeoLive.period = period;
tL_messageMediaGeoLive.proximity_notification_radius = radius;
tL_messageMediaGeoLive.flags = i | 8;
this.delegate.didSelectLocation(tL_messageMediaGeoLive, this.locationType, true, 0);
if (radius > 0) {
this.proximitySheet.setRadiusSet();
this.proximityButton.setImageResource(R.drawable.msg_location_alert2);
ProximitySheet proximitySheet = this.proximitySheet;
if (proximitySheet != null) {
proximitySheet.dismiss();
}
getUndoView().showWithAction(0L, 24, Integer.valueOf(radius), user, (Runnable) null, (Runnable) null);
return;
}
finishFragment();
}
public final Bitmap createPlaceBitmap(int num) {
Bitmap[] bitmapArr = this.bitmapCache;
int i = num % 7;
if (bitmapArr[i] != null) {
return bitmapArr[i];
}
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(num));
canvas.drawCircle(AndroidUtilities.dp(6.0f), AndroidUtilities.dp(6.0f), AndroidUtilities.dp(5.0f), paint);
canvas.setBitmap(null);
this.bitmapCache[num % 7] = createBitmap;
return createBitmap;
} catch (Throwable th) {
FileLog.e(th);
return null;
}
}
public final void updatePlacesMarkers(ArrayList<TLRPC.TL_messageMediaVenue> places) {
if (places == null) {
return;
}
int size = this.placeMarkers.size();
for (int i = 0; i < size; i++) {
this.placeMarkers.get(i).marker.remove();
}
this.placeMarkers.clear();
int size2 = places.size();
for (int i2 = 0; i2 < size2; i2++) {
TLRPC.TL_messageMediaVenue tL_messageMediaVenue = places.get(i2);
try {
IMapsProvider.IMarkerOptions onCreateMarkerOptions = ApplicationLoader.getMapsProvider().onCreateMarkerOptions();
TLRPC.GeoPoint geoPoint = ((TLRPC.MessageMedia) 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(((TLRPC.MessageMedia) tL_messageMediaVenue).title);
position.snippet(((TLRPC.MessageMedia) 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 final LiveLocation addUserMarker(TLRPC.Message message) {
Location location;
TLRPC.GeoPoint geoPoint = message.media.geo;
IMapsProvider.LatLng latLng = new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long);
LiveLocation liveLocation = (LiveLocation) this.markersMap.get(MessageObject.getFromChatId(message));
if (liveLocation == null) {
liveLocation = new LiveLocation();
liveLocation.object = message;
if (message.from_id instanceof TLRPC.TL_peerUser) {
liveLocation.user = getMessagesController().getUser(Long.valueOf(liveLocation.object.from_id.user_id));
liveLocation.id = liveLocation.object.from_id.user_id;
} else {
long dialogId = MessageObject.getDialogId(message);
if (DialogObject.isUserDialog(dialogId)) {
liveLocation.user = getMessagesController().getUser(Long.valueOf(dialogId));
} else {
liveLocation.chat = getMessagesController().getChat(Long.valueOf(-dialogId));
}
liveLocation.id = dialogId;
}
try {
IMapsProvider.IMarkerOptions position = ApplicationLoader.getMapsProvider().onCreateMarkerOptions().position(latLng);
Bitmap createUserBitmap = createUserBitmap(liveLocation);
if (createUserBitmap != null) {
position.icon(createUserBitmap);
position.anchor(0.5f, 0.907f);
liveLocation.marker = this.map.addMarker(position);
if (!UserObject.isUserSelf(liveLocation.user)) {
IMapsProvider.IMarkerOptions flat = ApplicationLoader.getMapsProvider().onCreateMarkerOptions().position(latLng).flat(true);
flat.anchor(0.5f, 0.5f);
IMapsProvider.IMarker addMarker = this.map.addMarker(flat);
liveLocation.directionMarker = addMarker;
int i = message.media.heading;
if (i != 0) {
addMarker.setRotation(i);
liveLocation.directionMarker.setIcon(R.drawable.map_pin_cone2);
liveLocation.hasRotation = true;
} else {
addMarker.setRotation(0);
liveLocation.directionMarker.setIcon(R.drawable.map_pin_circle);
liveLocation.hasRotation = false;
}
}
this.markers.add(liveLocation);
this.markersMap.put(liveLocation.id, liveLocation);
LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId);
if (liveLocation.id == getUserConfig().getClientUserId() && sharingLocationInfo != null && liveLocation.object.id == sharingLocationInfo.mid && (location = this.myLocation) != null) {
liveLocation.marker.setPosition(new IMapsProvider.LatLng(location.getLatitude(), this.myLocation.getLongitude()));
}
}
} catch (Exception e) {
FileLog.e(e);
}
} else {
liveLocation.object = message;
liveLocation.marker.setPosition(latLng);
if (this.selectedMarkerId == liveLocation.id) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(liveLocation.marker.getPosition()));
}
}
ProximitySheet proximitySheet = this.proximitySheet;
if (proximitySheet != null) {
proximitySheet.updateText(true, true);
}
return liveLocation;
}
public final LiveLocation addUserMarker(TLRPC.TL_channelLocation location) {
TLRPC.GeoPoint geoPoint = location.geo_point;
IMapsProvider.LatLng latLng = new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long);
LiveLocation liveLocation = new LiveLocation();
if (DialogObject.isUserDialog(this.dialogId)) {
liveLocation.user = getMessagesController().getUser(Long.valueOf(this.dialogId));
} else {
liveLocation.chat = getMessagesController().getChat(Long.valueOf(-this.dialogId));
}
liveLocation.id = this.dialogId;
try {
IMapsProvider.IMarkerOptions position = ApplicationLoader.getMapsProvider().onCreateMarkerOptions().position(latLng);
Bitmap createUserBitmap = createUserBitmap(liveLocation);
if (createUserBitmap != null) {
position.icon(createUserBitmap);
position.anchor(0.5f, 0.907f);
liveLocation.marker = this.map.addMarker(position);
if (!UserObject.isUserSelf(liveLocation.user)) {
IMapsProvider.IMarkerOptions flat = ApplicationLoader.getMapsProvider().onCreateMarkerOptions().position(latLng).flat(true);
flat.icon(R.drawable.map_pin_circle);
flat.anchor(0.5f, 0.5f);
liveLocation.directionMarker = this.map.addMarker(flat);
}
this.markers.add(liveLocation);
this.markersMap.put(liveLocation.id, liveLocation);
}
} catch (Exception e) {
FileLog.e(e);
}
return liveLocation;
}
public final void onMapInit() {
LocationController.SharingLocationInfo sharingLocationInfo;
int i;
if (this.map == null) {
return;
}
this.mapView.getView().animate().alpha(1.0f).setStartDelay(200L).setDuration(100L).start();
final float minZoomLevel = this.initialMaxZoom ? this.map.getMinZoomLevel() + 4.0f : this.map.getMaxZoomLevel() - 4.0f;
TLRPC.TL_channelLocation tL_channelLocation = this.chatLocation;
if (tL_channelLocation != null) {
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(addUserMarker(tL_channelLocation).marker.getPosition(), minZoomLevel));
} else {
MessageObject messageObject = this.messageObject;
if (messageObject != null) {
if (messageObject.isLiveLocation()) {
LiveLocation addUserMarker = addUserMarker(this.messageObject.messageOwner);
if (!getRecentLocations()) {
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(addUserMarker.marker.getPosition(), minZoomLevel));
}
} else {
IMapsProvider.LatLng latLng = new IMapsProvider.LatLng(this.userLocation.getLatitude(), this.userLocation.getLongitude());
try {
this.map.addMarker(ApplicationLoader.getMapsProvider().onCreateMarkerOptions().position(latLng).icon(R.drawable.map_pin2));
} catch (Exception e) {
FileLog.e(e);
}
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(latLng, minZoomLevel));
this.firstFocus = false;
getRecentLocations();
}
} else {
Location location = new Location("network");
this.userLocation = location;
TLRPC.TL_channelLocation tL_channelLocation2 = this.initialLocation;
if (tL_channelLocation2 != null) {
TLRPC.GeoPoint geoPoint = tL_channelLocation2.geo_point;
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long), minZoomLevel));
this.userLocation.setLatitude(this.initialLocation.geo_point.lat);
this.userLocation.setLongitude(this.initialLocation.geo_point._long);
this.userLocation.setAccuracy(this.initialLocation.geo_point.accuracy_radius);
this.adapter.setCustomLocation(this.userLocation);
} else {
location.setLatitude(20.659322d);
this.userLocation.setLongitude(-11.40625d);
}
}
}
try {
this.map.setMyLocationEnabled(true);
} catch (Exception e2) {
FileLog.e(e2, false);
}
this.map.getUiSettings().setMyLocationButtonEnabled(false);
this.map.getUiSettings().setZoomControlsEnabled(false);
this.map.getUiSettings().setCompassEnabled(false);
this.map.setOnCameraMoveStartedListener(new IMapsProvider.OnCameraMoveStartedListener() {
public final void onCameraMoveStarted(int i2) {
LocationActivity.this.lambda$onMapInit$34(i2);
}
});
this.map.setOnMyLocationChangeListener(new Consumer() {
public final void accept(Object obj) {
LocationActivity.this.lambda$onMapInit$35((Location) obj);
}
});
this.map.setOnMarkerClickListener(new IMapsProvider.OnMarkerClickListener() {
public final boolean onClick(IMapsProvider.IMarker iMarker) {
boolean lambda$onMapInit$36;
lambda$onMapInit$36 = LocationActivity.this.lambda$onMapInit$36(minZoomLevel, iMarker);
return lambda$onMapInit$36;
}
});
this.map.setOnCameraMoveListener(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$onMapInit$37();
}
});
Location lastLocation = getLastLocation();
this.myLocation = lastLocation;
positionMarker(lastLocation);
if (this.checkGpsEnabled && getParentActivity() != null) {
this.checkGpsEnabled = false;
checkGpsEnabled();
}
ImageView imageView = this.proximityButton;
if (imageView == null || imageView.getVisibility() != 0 || (sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId)) == null || (i = sharingLocationInfo.proximityMeters) <= 0) {
return;
}
createCircle(i);
}
public void lambda$onMapInit$34(int i) {
View childAt;
RecyclerView.ViewHolder findContainingViewHolder;
if (i == 1) {
showSearchPlacesButton(true);
removeInfoView();
this.selectedMarkerId = -1L;
if (this.scrolling) {
return;
}
int i2 = this.locationType;
if ((i2 == 0 || i2 == 1) && this.listView.getChildCount() > 0 && (childAt = this.listView.getChildAt(0)) != null && (findContainingViewHolder = this.listView.findContainingViewHolder(childAt)) != null && findContainingViewHolder.getAdapterPosition() == 0) {
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$35(Location location) {
positionMarker(location);
getLocationController().setMapLocation(location, this.isFirstLocation);
this.isFirstLocation = false;
}
public boolean lambda$onMapInit$36(float f, IMapsProvider.IMarker iMarker) {
if (!(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;
}
int i2 = 0;
while (true) {
if (i2 < this.markers.size()) {
LiveLocation liveLocation = this.markers.get(i2);
if (liveLocation != null && liveLocation.marker == iMarker) {
this.selectedMarkerId = liveLocation.id;
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(liveLocation.marker.getPosition(), f));
break;
}
i2++;
} else {
break;
}
}
this.overlayView.addInfoView(iMarker);
return true;
}
public void lambda$onMapInit$37() {
MapOverlayView mapOverlayView = this.overlayView;
if (mapOverlayView != null) {
mapOverlayView.updatePositions();
}
}
public final boolean checkGpsEnabled() {
if (disablePermissionCheck()) {
return false;
}
if (!getParentActivity().getPackageManager().hasSystemFeature("android.hardware.location.gps")) {
return true;
}
try {
if (!((LocationManager) ApplicationLoader.applicationContext.getSystemService("location")).isProviderEnabled("gps")) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTopAnimation(R.raw.permission_request_location, 72, false, getThemedColor(Theme.key_dialogTopBackground));
builder.setMessage(LocaleController.getString("GpsDisabledAlertText", R.string.GpsDisabledAlertText));
builder.setPositiveButton(LocaleController.getString("ConnectingToProxyEnable", R.string.ConnectingToProxyEnable), new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
LocationActivity.this.lambda$checkGpsEnabled$38(dialogInterface, i);
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
showDialog(builder.create());
return false;
}
} catch (Exception e) {
FileLog.e(e);
}
return true;
}
public void lambda$checkGpsEnabled$38(DialogInterface dialogInterface, int i) {
if (getParentActivity() == null) {
return;
}
try {
getParentActivity().startActivity(new Intent("android.settings.LOCATION_SOURCE_SETTINGS"));
} catch (Exception unused) {
}
}
public final void createCircle(int meters) {
if (this.map == null) {
return;
}
List asList = Arrays.asList(new IMapsProvider.PatternItem.Gap(20), new IMapsProvider.PatternItem.Dash(20));
IMapsProvider.ICircleOptions onCreateCircleOptions = ApplicationLoader.getMapsProvider().onCreateCircleOptions();
onCreateCircleOptions.center(new IMapsProvider.LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude()));
onCreateCircleOptions.radius(meters);
if (isActiveThemeDark()) {
onCreateCircleOptions.strokeColor(-1771658281);
onCreateCircleOptions.fillColor(476488663);
} else {
onCreateCircleOptions.strokeColor(-1774024971);
onCreateCircleOptions.fillColor(474121973);
}
onCreateCircleOptions.strokePattern(asList);
onCreateCircleOptions.strokeWidth(2);
this.proximityCircle = this.map.addCircle(onCreateCircleOptions);
}
public final 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 final void showPermissionAlert(boolean byButton) {
if (getParentActivity() == null) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTopAnimation(R.raw.permission_request_location, 72, false, getThemedColor(Theme.key_dialogTopBackground));
if (byButton) {
builder.setMessage(AndroidUtilities.replaceTags(LocaleController.getString("PermissionNoLocationNavigation", R.string.PermissionNoLocationNavigation)));
} else {
builder.setMessage(AndroidUtilities.replaceTags(LocaleController.getString("PermissionNoLocationFriends", R.string.PermissionNoLocationFriends)));
}
builder.setNegativeButton(LocaleController.getString("PermissionOpenSettings", R.string.PermissionOpenSettings), new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
LocationActivity.this.lambda$showPermissionAlert$39(dialogInterface, i);
}
});
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
showDialog(builder.create());
}
public void lambda$showPermissionAlert$39(DialogInterface dialogInterface, int i) {
if (getParentActivity() == null) {
return;
}
try {
Intent intent = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS");
intent.setData(Uri.parse("package:" + ApplicationLoader.applicationContext.getPackageName()));
getParentActivity().startActivity(intent);
} catch (Exception e) {
FileLog.e(e);
}
}
public void onTransitionAnimationEnd(boolean isOpen, boolean backward) {
if (!isOpen || backward) {
return;
}
try {
if (this.mapView.getView().getParent() instanceof ViewGroup) {
((ViewGroup) this.mapView.getView().getParent()).removeView(this.mapView.getView());
}
} catch (Exception unused) {
}
FrameLayout frameLayout = this.mapViewClip;
if (frameLayout != null) {
frameLayout.addView(this.mapView.getView(), 0, LayoutHelper.createFrame(-1, this.overScrollHeight + AndroidUtilities.dp(10.0f), 51));
MapOverlayView mapOverlayView = this.overlayView;
if (mapOverlayView != null) {
try {
if (mapOverlayView.getParent() instanceof ViewGroup) {
((ViewGroup) this.overlayView.getParent()).removeView(this.overlayView);
}
} catch (Exception unused2) {
}
this.mapViewClip.addView(this.overlayView, 1, LayoutHelper.createFrame(-1, this.overScrollHeight + AndroidUtilities.dp(10.0f), 51));
}
updateClipView(false);
maybeShowProximityHint();
return;
}
View view = ((BaseFragment) this).fragmentView;
if (view != null) {
((FrameLayout) view).addView(this.mapView.getView(), 0, LayoutHelper.createFrame(-1, -1, 51));
}
}
public final void maybeShowProximityHint() {
SharedPreferences globalMainSettings;
int i;
ImageView imageView = this.proximityButton;
if (imageView == null || imageView.getVisibility() != 0 || this.proximityAnimationInProgress || (i = (globalMainSettings = MessagesController.getGlobalMainSettings()).getInt("proximityhint", 0)) >= 3) {
return;
}
globalMainSettings.edit().putInt("proximityhint", i + 1).commit();
if (DialogObject.isUserDialog(this.dialogId)) {
this.hintView.setText(LocaleController.formatString("ProximityTooltioUser", R.string.ProximityTooltioUser, new Object[]{UserObject.getFirstName(getMessagesController().getUser(Long.valueOf(this.dialogId)))}));
} else {
this.hintView.setText(LocaleController.getString("ProximityTooltioGroup", R.string.ProximityTooltioGroup));
}
this.hintView.show();
}
public final 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 final void updateClipView(boolean fromLayout) {
int i;
int i2;
FrameLayout.LayoutParams layoutParams;
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);
}
}
} else 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);
}
}
this.mapViewClip.setTranslationY(Math.min(0, i));
int i3 = -i;
int i4 = i3 / 2;
this.mapView.getView().setTranslationY(Math.max(0, i4));
MapOverlayView mapOverlayView3 = this.overlayView;
if (mapOverlayView3 != null) {
mapOverlayView3.setTranslationY(Math.max(0, i4));
}
int measuredHeight = this.overScrollHeight - this.mapTypeButton.getMeasuredHeight();
int i5 = this.locationType;
float min = Math.min(measuredHeight - AndroidUtilities.dp(64 + ((i5 == 0 || i5 == 1) ? 30 : 10)), i3);
this.mapTypeButton.setTranslationY(min);
this.proximityButton.setTranslationY(min);
HintView2 hintView2 = this.hintView;
if (hintView2 != null) {
hintView2.setTranslationY(min);
}
SearchButton searchButton = this.searchAreaButton;
if (searchButton != null) {
searchButton.setTranslation(min);
}
View view = this.markerImageView;
if (view != null) {
int dp = (i3 - AndroidUtilities.dp(view.getTag() == null ? 48.0f : 69.0f)) + (i2 / 2);
this.markerTop = dp;
view.setTranslationY(dp);
}
if (fromLayout) {
return;
}
FrameLayout.LayoutParams layoutParams2 = (FrameLayout.LayoutParams) this.mapView.getView().getLayoutParams();
if (layoutParams2 != null && layoutParams2.height != this.overScrollHeight + AndroidUtilities.dp(10.0f)) {
layoutParams2.height = this.overScrollHeight + AndroidUtilities.dp(10.0f);
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
iMap.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), AndroidUtilities.dp(10.0f));
}
this.mapView.getView().setLayoutParams(layoutParams2);
}
MapOverlayView mapOverlayView4 = this.overlayView;
if (mapOverlayView4 == null || (layoutParams = (FrameLayout.LayoutParams) mapOverlayView4.getLayoutParams()) == null || layoutParams.height == this.overScrollHeight + AndroidUtilities.dp(10.0f)) {
return;
}
layoutParams.height = this.overScrollHeight + AndroidUtilities.dp(10.0f);
this.overlayView.setLayoutParams(layoutParams);
}
}
public final void fixLayoutInternal(final boolean resume) {
FrameLayout.LayoutParams layoutParams;
if (this.listView != null) {
int currentActionBarHeight = (((BaseFragment) this).actionBar.getOccupyStatusBar() ? AndroidUtilities.statusBarHeight : 0) + ActionBar.getCurrentActionBarHeight();
int measuredHeight = ((BaseFragment) this).fragmentView.getMeasuredHeight();
if (measuredHeight == 0) {
return;
}
int i = this.locationType;
if (i == 6) {
this.overScrollHeight = (measuredHeight - AndroidUtilities.dp(66.0f)) - currentActionBarHeight;
} else if (i == 2) {
this.overScrollHeight = (measuredHeight - AndroidUtilities.dp(73.0f)) - currentActionBarHeight;
} else {
this.overScrollHeight = (measuredHeight - AndroidUtilities.dp(66.0f)) - currentActionBarHeight;
}
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.overScrollHeight;
this.mapViewClip.setLayoutParams(layoutParams3);
RecyclerListView recyclerListView = this.searchListView;
if (recyclerListView != null) {
FrameLayout.LayoutParams layoutParams4 = (FrameLayout.LayoutParams) recyclerListView.getLayoutParams();
layoutParams4.topMargin = currentActionBarHeight;
this.searchListView.setLayoutParams(layoutParams4);
}
this.adapter.setOverScrollHeight(this.overScrollHeight);
FrameLayout.LayoutParams layoutParams5 = (FrameLayout.LayoutParams) this.mapView.getView().getLayoutParams();
if (layoutParams5 != null) {
layoutParams5.height = this.overScrollHeight + AndroidUtilities.dp(10.0f);
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
iMap.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), 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.overScrollHeight + AndroidUtilities.dp(10.0f);
this.overlayView.setLayoutParams(layoutParams);
}
this.adapter.notifyDataSetChanged();
if (resume) {
int i2 = this.locationType;
final int i3 = i2 == 3 ? 73 : (i2 == 1 || i2 == 2) ? 66 : 0;
this.layoutManager.scrollToPositionWithOffset(0, -AndroidUtilities.dp(i3));
updateClipView(false);
this.listView.post(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$fixLayoutInternal$40(i3);
}
});
return;
}
updateClipView(false);
}
}
public void lambda$fixLayoutInternal$40(int i) {
this.layoutManager.scrollToPositionWithOffset(0, -AndroidUtilities.dp(i));
updateClipView(false);
}
@SuppressLint({"MissingPermission"})
public final 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;
}
public final void positionMarker(Location location) {
int i;
if (location == null) {
return;
}
this.myLocation = new Location(location);
LiveLocation liveLocation = (LiveLocation) this.markersMap.get(getUserConfig().getClientUserId());
LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(this.dialogId);
if (liveLocation != null && sharingLocationInfo != null && liveLocation.object.id == sharingLocationInfo.mid) {
IMapsProvider.LatLng latLng = new IMapsProvider.LatLng(location.getLatitude(), location.getLongitude());
liveLocation.marker.setPosition(latLng);
IMapsProvider.IMarker iMarker = liveLocation.directionMarker;
if (iMarker != null) {
iMarker.setPosition(latLng);
}
if (this.selectedMarkerId == liveLocation.id) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(liveLocation.marker.getPosition()));
}
}
if (this.messageObject == null && this.chatLocation == null && this.map != null) {
IMapsProvider.LatLng latLng2 = new IMapsProvider.LatLng(location.getLatitude(), location.getLongitude());
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
if (!this.searchedForCustomLocations && (i = this.locationType) != 4 && i != 8) {
locationActivityAdapter.searchPlacesWithQuery(null, this.myLocation, true);
}
this.adapter.setGpsLocation(this.myLocation);
}
if (!this.userLocationMoved) {
this.userLocation = new Location(location);
if (this.firstWas) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(latLng2));
} else {
this.firstWas = true;
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngZoom(latLng2, this.map.getMaxZoomLevel() - 4.0f));
}
}
} else {
this.adapter.setGpsLocation(this.myLocation);
}
ProximitySheet proximitySheet = this.proximitySheet;
if (proximitySheet != null) {
proximitySheet.updateText(true, true);
}
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.setCenter(new IMapsProvider.LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude()));
}
}
public void setMessageObject(MessageObject message) {
this.messageObject = message;
this.dialogId = message.getDialogId();
}
public void setChatLocation(long chatId, TLRPC.TL_channelLocation location) {
this.dialogId = -chatId;
this.chatLocation = location;
}
public void setDialogId(long did) {
this.dialogId = did;
}
public void setInitialLocation(TLRPC.TL_channelLocation location) {
this.initialLocation = location;
}
public static IMapsProvider.LatLng move(IMapsProvider.LatLng startLL, double toNorth, double toEast) {
double meterToLongitude = meterToLongitude(toEast, startLL.latitude);
return new IMapsProvider.LatLng(startLL.latitude + meterToLatitude(toNorth), startLL.longitude + meterToLongitude);
}
public static double meterToLongitude(double meterToEast, double latitude) {
return Math.toDegrees(meterToEast / (Math.cos(Math.toRadians(latitude)) * 6366198.0d));
}
public static double meterToLatitude(double meterToNorth) {
return Math.toDegrees(meterToNorth / 6366198.0d);
}
public final void fetchRecentLocations(ArrayList<TLRPC.Message> messages) {
IMapsProvider.ILatLngBoundsBuilder onCreateLatLngBoundsBuilder = this.firstFocus ? ApplicationLoader.getMapsProvider().onCreateLatLngBoundsBuilder() : null;
int currentTime = getConnectionsManager().getCurrentTime();
for (int i = 0; i < messages.size(); i++) {
TLRPC.Message message = messages.get(i);
int i2 = message.date;
TLRPC.MessageMedia messageMedia = message.media;
int i3 = messageMedia.period;
if (i2 + i3 > currentTime || i3 == Integer.MAX_VALUE) {
if (onCreateLatLngBoundsBuilder != null) {
TLRPC.GeoPoint geoPoint = messageMedia.geo;
onCreateLatLngBoundsBuilder.include(new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long));
}
addUserMarker(message);
if (this.proximityButton.getVisibility() != 8 && MessageObject.getFromChatId(message) != getUserConfig().getClientUserId()) {
this.proximityButton.setVisibility(0);
this.proximityAnimationInProgress = true;
this.proximityButton.animate().alpha(1.0f).scaleX(1.0f).scaleY(1.0f).setDuration(180L).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
LocationActivity.this.proximityAnimationInProgress = false;
LocationActivity.this.maybeShowProximityHint();
}
}).start();
}
}
}
if (onCreateLatLngBoundsBuilder != null) {
if (this.firstFocus) {
this.listView.smoothScrollBy(0, AndroidUtilities.dp(99.0f));
}
this.firstFocus = false;
this.adapter.setLiveLocations(this.markers);
if (this.messageObject.isLiveLocation()) {
try {
IMapsProvider.LatLng center = onCreateLatLngBoundsBuilder.build().getCenter();
IMapsProvider.LatLng move = move(center, 100.0d, 100.0d);
onCreateLatLngBoundsBuilder.include(move(center, -100.0d, -100.0d));
onCreateLatLngBoundsBuilder.include(move);
IMapsProvider.ILatLngBounds build = onCreateLatLngBoundsBuilder.build();
if (messages.size() > 1) {
try {
IMapsProvider.ICameraUpdate newCameraUpdateLatLngBounds = ApplicationLoader.getMapsProvider().newCameraUpdateLatLngBounds(build, AndroidUtilities.dp(113.0f));
this.moveToBounds = newCameraUpdateLatLngBounds;
this.map.moveCamera(newCameraUpdateLatLngBounds);
this.moveToBounds = null;
} catch (Exception e) {
FileLog.e(e);
}
}
} catch (Exception unused) {
}
}
}
}
public final void moveToBounds(int radius, boolean self, boolean animated) {
IMapsProvider.ILatLngBoundsBuilder onCreateLatLngBoundsBuilder = ApplicationLoader.getMapsProvider().onCreateLatLngBoundsBuilder();
onCreateLatLngBoundsBuilder.include(new IMapsProvider.LatLng(this.myLocation.getLatitude(), this.myLocation.getLongitude()));
try {
if (self) {
int max = Math.max(radius, 250);
IMapsProvider.LatLng center = onCreateLatLngBoundsBuilder.build().getCenter();
double d = max;
IMapsProvider.LatLng move = move(center, d, d);
double d2 = -max;
onCreateLatLngBoundsBuilder.include(move(center, d2, d2));
onCreateLatLngBoundsBuilder.include(move);
IMapsProvider.ILatLngBounds build = onCreateLatLngBoundsBuilder.build();
try {
this.map.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), (int) ((this.proximitySheet.getCustomView().getMeasuredHeight() - AndroidUtilities.dp(40.0f)) + this.mapViewClip.getTranslationY()));
if (animated) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngBounds(build, 0), 500, (IMapsProvider.ICancelableCallback) null);
} else {
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngBounds(build, 0));
}
} catch (Exception e) {
FileLog.e(e);
}
}
int currentTime = getConnectionsManager().getCurrentTime();
int size = this.markers.size();
for (int i = 0; i < size; i++) {
TLRPC.Message message = this.markers.get(i).object;
int i2 = message.date;
TLRPC.MessageMedia messageMedia = message.media;
if (i2 + messageMedia.period > currentTime) {
TLRPC.GeoPoint geoPoint = messageMedia.geo;
onCreateLatLngBoundsBuilder.include(new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long));
}
}
IMapsProvider.LatLng center2 = onCreateLatLngBoundsBuilder.build().getCenter();
IMapsProvider.LatLng move2 = move(center2, 100.0d, 100.0d);
onCreateLatLngBoundsBuilder.include(move(center2, -100.0d, -100.0d));
onCreateLatLngBoundsBuilder.include(move2);
IMapsProvider.ILatLngBounds build2 = onCreateLatLngBoundsBuilder.build();
try {
this.map.setPadding(AndroidUtilities.dp(70.0f), 0, AndroidUtilities.dp(70.0f), this.proximitySheet.getCustomView().getMeasuredHeight() - AndroidUtilities.dp(100.0f));
this.map.moveCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLngBounds(build2, 0));
} catch (Exception e2) {
FileLog.e(e2);
}
} catch (Exception unused) {
}
}
public final boolean getRecentLocations() {
ArrayList<TLRPC.Message> arrayList = (ArrayList) getLocationController().locationsCache.get(this.messageObject.getDialogId());
if (arrayList == null || !arrayList.isEmpty()) {
arrayList = null;
} else {
fetchRecentLocations(arrayList);
}
if (DialogObject.isChatDialog(this.dialogId)) {
TLRPC.Chat chat = getMessagesController().getChat(Long.valueOf(-this.dialogId));
if (ChatObject.isChannel(chat) && !chat.megagroup) {
return false;
}
}
TLRPC.TL_messages_getRecentLocations tL_messages_getRecentLocations = new TLRPC.TL_messages_getRecentLocations();
final long dialogId = this.messageObject.getDialogId();
tL_messages_getRecentLocations.peer = getMessagesController().getInputPeer(dialogId);
tL_messages_getRecentLocations.limit = 100;
getConnectionsManager().sendRequest(tL_messages_getRecentLocations, new RequestDelegate() {
public final void run(TLObject tLObject, TLRPC.TL_error tL_error) {
LocationActivity.this.lambda$getRecentLocations$43(dialogId, tLObject, tL_error);
}
});
return arrayList != null;
}
public void lambda$getRecentLocations$43(final long j, final TLObject tLObject, TLRPC.TL_error tL_error) {
if (tLObject != null) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$getRecentLocations$42(tLObject, j);
}
});
}
}
public void lambda$getRecentLocations$42(TLObject tLObject, long j) {
if (this.map == null) {
return;
}
TLRPC.messages_Messages messages_messages = (TLRPC.messages_Messages) tLObject;
int i = 0;
while (i < messages_messages.messages.size()) {
if (!(((TLRPC.Message) messages_messages.messages.get(i)).media instanceof TLRPC.TL_messageMediaGeoLive)) {
messages_messages.messages.remove(i);
i--;
}
i++;
}
getMessagesStorage().putUsersAndChats(messages_messages.users, messages_messages.chats, true, true);
getMessagesController().putUsers(messages_messages.users, false);
getMessagesController().putChats(messages_messages.chats, false);
getLocationController().locationsCache.put(j, messages_messages.messages);
getNotificationCenter().postNotificationName(NotificationCenter.liveLocationsCacheChanged, new Object[]{Long.valueOf(j)});
fetchRecentLocations(messages_messages.messages);
getLocationController().markLiveLoactionsAsRead(this.dialogId);
if (this.markAsReadRunnable == null) {
Runnable runnable = new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$getRecentLocations$41();
}
};
this.markAsReadRunnable = runnable;
AndroidUtilities.runOnUIThread(runnable, 5000L);
}
}
public void lambda$getRecentLocations$41() {
Runnable runnable;
getLocationController().markLiveLoactionsAsRead(this.dialogId);
if (((BaseFragment) this).isPaused || (runnable = this.markAsReadRunnable) == null) {
return;
}
AndroidUtilities.runOnUIThread(runnable, 5000L);
}
public void didReceivedNotification(int id, int account, Object... args) {
LocationActivityAdapter locationActivityAdapter;
LiveLocation liveLocation;
LocationActivityAdapter locationActivityAdapter2;
if (id == NotificationCenter.closeChats) {
removeSelfFromStack(true);
return;
}
if (id == NotificationCenter.locationPermissionGranted) {
this.locationDenied = false;
LocationActivityAdapter locationActivityAdapter3 = this.adapter;
if (locationActivityAdapter3 != null) {
locationActivityAdapter3.setMyLocationDenied(false, false);
}
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
try {
iMap.setMyLocationEnabled(true);
return;
} catch (Exception e) {
FileLog.e(e);
return;
}
}
return;
}
if (id == NotificationCenter.locationPermissionDenied) {
this.locationDenied = true;
LocationActivityAdapter locationActivityAdapter4 = this.adapter;
if (locationActivityAdapter4 != null) {
locationActivityAdapter4.setMyLocationDenied(true, false);
return;
}
return;
}
if (id == NotificationCenter.liveLocationsChanged) {
LocationActivityAdapter locationActivityAdapter5 = this.adapter;
if (locationActivityAdapter5 != null) {
locationActivityAdapter5.notifyDataSetChanged();
this.adapter.updateLiveLocationCell();
return;
}
return;
}
if (id == NotificationCenter.didReceiveNewMessages) {
if (((Boolean) args[2]).booleanValue() || ((Long) args[0]).longValue() != this.dialogId || this.messageObject == null) {
return;
}
ArrayList arrayList = (ArrayList) args[1];
boolean z = false;
for (int i = 0; i < arrayList.size(); i++) {
MessageObject messageObject = (MessageObject) arrayList.get(i);
if (messageObject.isLiveLocation()) {
addUserMarker(messageObject.messageOwner);
z = true;
} else if ((messageObject.messageOwner.action instanceof TLRPC.TL_messageActionGeoProximityReached) && DialogObject.isUserDialog(messageObject.getDialogId())) {
this.proximityButton.setImageResource(R.drawable.msg_location_alert);
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.remove();
this.proximityCircle = null;
}
}
}
if (!z || (locationActivityAdapter2 = this.adapter) == null) {
return;
}
locationActivityAdapter2.setLiveLocations(this.markers);
return;
}
if (id == NotificationCenter.replaceMessagesObjects) {
long longValue = ((Long) args[0]).longValue();
if (longValue != this.dialogId || this.messageObject == null) {
return;
}
ArrayList arrayList2 = (ArrayList) args[1];
boolean z2 = false;
for (int i2 = 0; i2 < arrayList2.size(); i2++) {
MessageObject messageObject2 = (MessageObject) arrayList2.get(i2);
if (messageObject2.isLiveLocation() && (liveLocation = (LiveLocation) this.markersMap.get(getMessageId(messageObject2.messageOwner))) != null) {
LocationController.SharingLocationInfo sharingLocationInfo = getLocationController().getSharingLocationInfo(longValue);
if (sharingLocationInfo == null || sharingLocationInfo.mid != messageObject2.getId()) {
TLRPC.Message message = messageObject2.messageOwner;
liveLocation.object = message;
TLRPC.GeoPoint geoPoint = message.media.geo;
IMapsProvider.LatLng latLng = new IMapsProvider.LatLng(geoPoint.lat, geoPoint._long);
liveLocation.marker.setPosition(latLng);
if (this.selectedMarkerId == liveLocation.id) {
this.map.animateCamera(ApplicationLoader.getMapsProvider().newCameraUpdateLatLng(liveLocation.marker.getPosition()));
}
IMapsProvider.IMarker iMarker = liveLocation.directionMarker;
if (iMarker != null) {
iMarker.getPosition();
liveLocation.directionMarker.setPosition(latLng);
int i3 = messageObject2.messageOwner.media.heading;
if (i3 != 0) {
liveLocation.directionMarker.setRotation(i3);
if (!liveLocation.hasRotation) {
liveLocation.directionMarker.setIcon(R.drawable.map_pin_cone2);
liveLocation.hasRotation = true;
}
} else if (liveLocation.hasRotation) {
liveLocation.directionMarker.setRotation(0);
liveLocation.directionMarker.setIcon(R.drawable.map_pin_circle);
liveLocation.hasRotation = false;
}
}
}
z2 = true;
}
}
if (!z2 || (locationActivityAdapter = this.adapter) == null) {
return;
}
locationActivityAdapter.updateLiveLocations();
ProximitySheet proximitySheet = this.proximitySheet;
if (proximitySheet != null) {
proximitySheet.updateText(true, true);
}
}
}
public void onPause() {
super.onPause();
IMapsProvider.IMapView iMapView = this.mapView;
if (iMapView != null && this.mapsInitialized) {
try {
iMapView.onPause();
} catch (Exception e) {
FileLog.e(e);
}
}
UndoView[] undoViewArr = this.undoView;
if (undoViewArr[0] != null) {
undoViewArr[0].hide(true, 0);
}
this.onResumeCalled = false;
}
public boolean onBackPressed() {
ProximitySheet proximitySheet = this.proximitySheet;
if (proximitySheet != null) {
proximitySheet.dismiss();
return false;
}
if (onCheckGlScreenshot()) {
return false;
}
return super.onBackPressed();
}
public boolean finishFragment(boolean animated) {
if (onCheckGlScreenshot()) {
return false;
}
return super.finishFragment(animated);
}
public final boolean onCheckGlScreenshot() {
IMapsProvider.IMapView iMapView = this.mapView;
if (iMapView == null || iMapView.getGlSurfaceView() == null || this.hasScreenshot) {
return false;
}
final GLSurfaceView glSurfaceView = this.mapView.getGlSurfaceView();
glSurfaceView.queueEvent(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$onCheckGlScreenshot$46(glSurfaceView);
}
});
return true;
}
public void lambda$onCheckGlScreenshot$46(final GLSurfaceView gLSurfaceView) {
if (gLSurfaceView.getWidth() == 0 || gLSurfaceView.getHeight() == 0) {
return;
}
ByteBuffer allocateDirect = ByteBuffer.allocateDirect(gLSurfaceView.getWidth() * gLSurfaceView.getHeight() * 4);
GLES20.glReadPixels(0, 0, gLSurfaceView.getWidth(), gLSurfaceView.getHeight(), 6408, 5121, allocateDirect);
Bitmap createBitmap = Bitmap.createBitmap(gLSurfaceView.getWidth(), gLSurfaceView.getHeight(), Bitmap.Config.ARGB_8888);
createBitmap.copyPixelsFromBuffer(allocateDirect);
Matrix matrix = new Matrix();
matrix.preScale(1.0f, -1.0f);
final Bitmap createBitmap2 = Bitmap.createBitmap(createBitmap, 0, 0, createBitmap.getWidth(), createBitmap.getHeight(), matrix, false);
createBitmap.recycle();
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$onCheckGlScreenshot$45(createBitmap2, gLSurfaceView);
}
});
}
public void lambda$onCheckGlScreenshot$45(Bitmap bitmap, final GLSurfaceView gLSurfaceView) {
ImageView imageView = new ImageView(getContext());
imageView.setImageBitmap(bitmap);
final ViewGroup viewGroup = (ViewGroup) gLSurfaceView.getParent();
try {
viewGroup.addView(imageView, viewGroup.indexOfChild(gLSurfaceView));
} catch (Exception e) {
FileLog.e(e);
}
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
LocationActivity.this.lambda$onCheckGlScreenshot$44(viewGroup, gLSurfaceView);
}
}, 100L);
}
public void lambda$onCheckGlScreenshot$44(ViewGroup viewGroup, GLSurfaceView gLSurfaceView) {
try {
viewGroup.removeView(gLSurfaceView);
} catch (Exception e) {
FileLog.e(e);
}
this.hasScreenshot = true;
finishFragment();
}
public void onBecomeFullyHidden() {
UndoView[] undoViewArr = this.undoView;
if (undoViewArr[0] != null) {
undoViewArr[0].hide(true, 0);
}
}
public void onResume() {
Activity parentActivity;
super.onResume();
AndroidUtilities.requestAdjustResize(getParentActivity(), ((BaseFragment) this).classGuid);
AndroidUtilities.removeAdjustResize(getParentActivity(), ((BaseFragment) this).classGuid);
IMapsProvider.IMapView iMapView = this.mapView;
if (iMapView != null && this.mapsInitialized) {
try {
iMapView.onResume();
} catch (Throwable th) {
FileLog.e(th);
}
}
this.onResumeCalled = true;
IMapsProvider.IMap iMap = this.map;
if (iMap != null) {
try {
iMap.setMyLocationEnabled(true);
} catch (Exception e) {
FileLog.e(e);
}
}
fixLayoutInternal(true);
if (disablePermissionCheck()) {
this.checkPermission = false;
} else if (this.checkPermission && Build.VERSION.SDK_INT >= 23 && (parentActivity = getParentActivity()) != null) {
this.checkPermission = false;
if (parentActivity.checkSelfPermission("android.permission.ACCESS_COARSE_LOCATION") != 0) {
parentActivity.requestPermissions(new String[]{"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, 2);
}
}
Runnable runnable = this.markAsReadRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
AndroidUtilities.runOnUIThread(this.markAsReadRunnable, 5000L);
}
}
public void onRequestPermissionsResultFragment(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == 30) {
openShareLiveLocation(false, this.askWithRadius);
}
}
public void onLowMemory() {
super.onLowMemory();
IMapsProvider.IMapView iMapView = this.mapView;
if (iMapView == null || !this.mapsInitialized) {
return;
}
iMapView.onLowMemory();
}
public void setDelegate(LocationActivityDelegate delegate) {
this.delegate = delegate;
}
public ArrayList<ThemeDescription> getThemeDescriptions() {
ArrayList<ThemeDescription> arrayList = new ArrayList<>();
ThemeDescription.ThemeDescriptionDelegate themeDescriptionDelegate = new ThemeDescription.ThemeDescriptionDelegate() {
@Override
public final void didSetColor() {
LocationActivity.this.lambda$getThemeDescriptions$47();
}
@Override
public void onAnimationProgress(float f) {
ThemeDescription.ThemeDescriptionDelegate.CC.$default$onAnimationProgress(this, f);
}
};
for (int i = 0; i < this.undoView.length; i++) {
View view = this.undoView[i];
int i2 = ThemeDescription.FLAG_BACKGROUNDFILTER;
int i3 = Theme.key_undo_background;
arrayList.add(new ThemeDescription(view, i2, null, null, null, null, i3));
int i4 = Theme.key_undo_cancelColor;
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"undoImageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i4));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"undoTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i4));
int i5 = Theme.key_undo_infoColor;
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"infoTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"subinfoTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"textPaint"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"progressPaint"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "BODY", i3));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Wibe Big", i3));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Wibe Big 3", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Wibe Small", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Body Main.**", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Body Top.**", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Line.**", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Curve Big.**", i5));
arrayList.add(new ThemeDescription(this.undoView[i], 0, new Class[]{UndoView.class}, new String[]{"leftImageView"}, "Curve Small.**", i5));
}
View view2 = ((BaseFragment) this).fragmentView;
int i6 = ThemeDescription.FLAG_BACKGROUND;
int i7 = Theme.key_dialogBackground;
arrayList.add(new ThemeDescription(view2, i6, null, null, null, themeDescriptionDelegate, i7));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_BACKGROUND, null, null, null, null, i7));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_LISTGLOWCOLOR, null, null, null, null, i7));
ActionBar actionBar = ((BaseFragment) this).actionBar;
int i8 = ThemeDescription.FLAG_AB_ITEMSCOLOR;
int i9 = Theme.key_dialogTextBlack;
arrayList.add(new ThemeDescription(actionBar, i8, null, null, null, null, i9));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_TITLECOLOR, null, null, null, null, i9));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_SELECTORCOLOR, null, null, null, null, Theme.key_dialogButtonSelector));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_SEARCH, null, null, null, null, i9));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_SEARCHPLACEHOLDER, null, null, null, null, Theme.key_chat_messagePanelHint));
ActionBarMenuItem actionBarMenuItem = this.searchItem;
arrayList.add(new ThemeDescription(actionBarMenuItem != null ? actionBarMenuItem.getSearchField() : null, ThemeDescription.FLAG_CURSORCOLOR, null, null, null, null, i9));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_SUBMENUBACKGROUND, null, null, null, themeDescriptionDelegate, Theme.key_actionBarDefaultSubmenuBackground));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_AB_SUBMENUITEM, null, null, null, themeDescriptionDelegate, Theme.key_actionBarDefaultSubmenuItem));
arrayList.add(new ThemeDescription(((BaseFragment) this).actionBar, ThemeDescription.FLAG_IMAGECOLOR | ThemeDescription.FLAG_AB_SUBMENUITEM, null, null, null, themeDescriptionDelegate, Theme.key_actionBarDefaultSubmenuItemIcon));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_SELECTOR, null, null, null, null, Theme.key_listSelector));
arrayList.add(new ThemeDescription(this.listView, 0, new Class[]{View.class}, Theme.dividerPaint, null, null, Theme.key_divider));
ImageView imageView = this.emptyImageView;
int i10 = ThemeDescription.FLAG_IMAGECOLOR;
int i11 = Theme.key_dialogEmptyImage;
arrayList.add(new ThemeDescription(imageView, i10, null, null, null, null, i11));
TextView textView = this.emptyTitleTextView;
int i12 = ThemeDescription.FLAG_TEXTCOLOR;
int i13 = Theme.key_dialogEmptyText;
arrayList.add(new ThemeDescription(textView, i12, null, null, null, null, i13));
arrayList.add(new ThemeDescription(this.emptySubtitleTextView, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, i13));
arrayList.add(new ThemeDescription(this.shadow, 0, null, null, null, null, Theme.key_sheet_scrollUp));
ImageView imageView2 = this.locationButton;
int i14 = ThemeDescription.FLAG_IMAGECOLOR | ThemeDescription.FLAG_CHECKTAG;
int i15 = Theme.key_location_actionIcon;
arrayList.add(new ThemeDescription(imageView2, i14, null, null, null, null, i15));
ImageView imageView3 = this.locationButton;
int i16 = ThemeDescription.FLAG_IMAGECOLOR | ThemeDescription.FLAG_CHECKTAG;
int i17 = Theme.key_location_actionActiveIcon;
arrayList.add(new ThemeDescription(imageView3, i16, null, null, null, null, i17));
ImageView imageView4 = this.locationButton;
int i18 = ThemeDescription.FLAG_BACKGROUNDFILTER;
int i19 = Theme.key_location_actionBackground;
arrayList.add(new ThemeDescription(imageView4, i18, null, null, null, null, i19));
ImageView imageView5 = this.locationButton;
int i20 = ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE;
int i21 = Theme.key_location_actionPressedBackground;
arrayList.add(new ThemeDescription(imageView5, i20, null, null, null, null, i21));
arrayList.add(new ThemeDescription(this.mapTypeButton, 0, null, null, null, themeDescriptionDelegate, i15));
arrayList.add(new ThemeDescription(this.mapTypeButton, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, i19));
arrayList.add(new ThemeDescription(this.mapTypeButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, i21));
arrayList.add(new ThemeDescription(this.proximityButton, 0, null, null, null, themeDescriptionDelegate, i15));
arrayList.add(new ThemeDescription(this.proximityButton, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, i19));
arrayList.add(new ThemeDescription(this.proximityButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, i21));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_TEXTCOLOR, null, null, null, null, i17));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_BACKGROUNDFILTER, null, null, null, null, i19));
arrayList.add(new ThemeDescription(this.searchAreaButton, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_DRAWABLESELECTEDSTATE, null, null, null, null, i21));
arrayList.add(new ThemeDescription(null, 0, null, null, Theme.avatarDrawables, themeDescriptionDelegate, Theme.key_avatar_text));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundRed));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundOrange));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundViolet));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundGreen));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundCyan));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundBlue));
arrayList.add(new ThemeDescription(null, 0, null, null, null, themeDescriptionDelegate, Theme.key_avatar_backgroundPink));
arrayList.add(new ThemeDescription(null, 0, null, null, null, null, Theme.key_location_liveLocationProgress));
arrayList.add(new ThemeDescription(null, 0, null, null, null, null, Theme.key_location_placeLocationBackground));
arrayList.add(new ThemeDescription(null, 0, null, null, null, null, Theme.key_dialog_liveLocationProgress));
arrayList.add(new ThemeDescription((View) 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_sendLocationIcon));
arrayList.add(new ThemeDescription((View) 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((View) 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((View) 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 i22 = Theme.key_windowBackgroundWhiteGrayText3;
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{SendLocationCell.class}, new String[]{"accurateTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) 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((View) 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((View) 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((View) 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((View) 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}, null, null, null, Theme.key_windowBackgroundGrayShadow));
arrayList.add(new ThemeDescription(this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER | ThemeDescription.FLAG_CELLBACKGROUNDCOLOR, new Class[]{ShadowSectionCell.class}, null, null, null, Theme.key_windowBackgroundGray));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{HeaderCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_dialogTextBlue2));
arrayList.add(new ThemeDescription((View) this.listView, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{LocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
int i23 = Theme.key_windowBackgroundWhiteBlackText;
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i23));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.searchListView, ThemeDescription.FLAG_BACKGROUNDFILTER, new Class[]{LocationCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.searchListView, 0, new Class[]{LocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i23));
arrayList.add(new ThemeDescription((View) this.searchListView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"nameTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i23));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"progressBar"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, Theme.key_progressCircle));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationPoweredCell.class}, new String[]{"textView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i22));
arrayList.add(new ThemeDescription((View) this.listView, ThemeDescription.FLAG_IMAGECOLOR, new Class[]{LocationPoweredCell.class}, new String[]{"imageView"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i11));
arrayList.add(new ThemeDescription((View) this.listView, 0, new Class[]{LocationPoweredCell.class}, new String[]{"textView2"}, (Paint[]) null, (Drawable[]) null, (ThemeDescription.ThemeDescriptionDelegate) null, i13));
return arrayList;
}
public void lambda$getThemeDescriptions$47() {
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);
this.shadowDrawable.setColorFilter(new PorterDuffColorFilter(getThemedColor(Theme.key_dialogBackground), PorterDuff.Mode.MULTIPLY));
this.shadow.invalidate();
if (this.map != null) {
int mapThemeResId = getMapThemeResId();
if (mapThemeResId != 0) {
if (this.currentMapStyleDark) {
return;
}
this.currentMapStyleDark = true;
this.map.setMapStyle(ApplicationLoader.getMapsProvider().loadRawResourceStyle(ApplicationLoader.applicationContext, mapThemeResId));
IMapsProvider.ICircle iCircle = this.proximityCircle;
if (iCircle != null) {
iCircle.setStrokeColor(-1);
this.proximityCircle.setFillColor(553648127);
return;
}
return;
}
if (this.currentMapStyleDark) {
this.currentMapStyleDark = false;
this.map.setMapStyle((IMapsProvider.IMapStyleOptions) null);
IMapsProvider.ICircle iCircle2 = this.proximityCircle;
if (iCircle2 != null) {
iCircle2.setStrokeColor(-16777216);
this.proximityCircle.setFillColor(536870912);
}
}
}
}
public String getAddressName() {
LocationActivityAdapter locationActivityAdapter = this.adapter;
if (locationActivityAdapter != null) {
return locationActivityAdapter.getAddressName();
}
return null;
}
public boolean isLightStatusBar() {
return ColorUtils.calculateLuminance(getThemedColor(Theme.key_windowBackgroundWhite)) > 0.699999988079071d;
}
}