package androidx.appcompat.widget; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.res.Resources; import android.graphics.Rect; import android.util.DisplayMetrics; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.TextView; import androidx.appcompat.R$dimen; import androidx.appcompat.R$id; import androidx.appcompat.R$layout; import androidx.appcompat.R$style; /* loaded from: classes.dex */ class TooltipPopup { private final Context a; private final View b; private final TextView c; private final WindowManager.LayoutParams d = new WindowManager.LayoutParams(); private final Rect e = new Rect(); private final int[] f = new int[2]; private final int[] g = new int[2]; TooltipPopup(Context context) { this.a = context; this.b = LayoutInflater.from(this.a).inflate(R$layout.abc_tooltip, (ViewGroup) null); this.c = (TextView) this.b.findViewById(R$id.message); this.d.setTitle(TooltipPopup.class.getSimpleName()); this.d.packageName = this.a.getPackageName(); WindowManager.LayoutParams layoutParams = this.d; layoutParams.type = 1002; layoutParams.width = -2; layoutParams.height = -2; layoutParams.format = -3; layoutParams.windowAnimations = R$style.Animation_AppCompat_Tooltip; layoutParams.flags = 24; } void a(View view, int i, int i2, boolean z, CharSequence charSequence) { if (b()) { a(); } this.c.setText(charSequence); a(view, i, i2, z, this.d); ((WindowManager) this.a.getSystemService("window")).addView(this.b, this.d); } boolean b() { return this.b.getParent() != null; } void a() { if (b()) { ((WindowManager) this.a.getSystemService("window")).removeView(this.b); } } private void a(View view, int i, int i2, boolean z, WindowManager.LayoutParams layoutParams) { int height; int i3; layoutParams.token = view.getApplicationWindowToken(); int dimensionPixelOffset = this.a.getResources().getDimensionPixelOffset(R$dimen.tooltip_precise_anchor_threshold); if (view.getWidth() < dimensionPixelOffset) { i = view.getWidth() / 2; } if (view.getHeight() >= dimensionPixelOffset) { int dimensionPixelOffset2 = this.a.getResources().getDimensionPixelOffset(R$dimen.tooltip_precise_anchor_extra_offset); height = i2 + dimensionPixelOffset2; i3 = i2 - dimensionPixelOffset2; } else { height = view.getHeight(); i3 = 0; } layoutParams.gravity = 49; int dimensionPixelOffset3 = this.a.getResources().getDimensionPixelOffset(z ? R$dimen.tooltip_y_offset_touch : R$dimen.tooltip_y_offset_non_touch); View a = a(view); if (a == null) { Log.e("TooltipPopup", "Cannot find app view"); return; } a.getWindowVisibleDisplayFrame(this.e); Rect rect = this.e; if (rect.left < 0 && rect.top < 0) { Resources resources = this.a.getResources(); int identifier = resources.getIdentifier("status_bar_height", "dimen", "android"); int dimensionPixelSize = identifier != 0 ? resources.getDimensionPixelSize(identifier) : 0; DisplayMetrics displayMetrics = resources.getDisplayMetrics(); this.e.set(0, dimensionPixelSize, displayMetrics.widthPixels, displayMetrics.heightPixels); } a.getLocationOnScreen(this.g); view.getLocationOnScreen(this.f); int[] iArr = this.f; int i4 = iArr[0]; int[] iArr2 = this.g; iArr[0] = i4 - iArr2[0]; iArr[1] = iArr[1] - iArr2[1]; layoutParams.x = (iArr[0] + i) - (a.getWidth() / 2); int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, 0); this.b.measure(makeMeasureSpec, makeMeasureSpec); int measuredHeight = this.b.getMeasuredHeight(); int[] iArr3 = this.f; int i5 = ((iArr3[1] + i3) - dimensionPixelOffset3) - measuredHeight; int i6 = iArr3[1] + height + dimensionPixelOffset3; if (z) { if (i5 >= 0) { layoutParams.y = i5; return; } else { layoutParams.y = i6; return; } } if (measuredHeight + i6 <= this.e.height()) { layoutParams.y = i6; } else { layoutParams.y = i5; } } private static View a(View view) { View rootView = view.getRootView(); ViewGroup.LayoutParams layoutParams = rootView.getLayoutParams(); if ((layoutParams instanceof WindowManager.LayoutParams) && ((WindowManager.LayoutParams) layoutParams).type == 2) { return rootView; } for (Context context = view.getContext(); context instanceof ContextWrapper; context = ((ContextWrapper) context).getBaseContext()) { if (context instanceof Activity) { return ((Activity) context).getWindow().getDecorView(); } } return rootView; } }