正在查看: Ampture v4.3.1 应用的 MainActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Ampture v4.3.1 应用的 MainActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.kaunik.ampture.activity;
import android.app.Activity;
import android.app.ActivityOptions;
import android.app.Dialog;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.LocaleList;
import android.os.Looper;
import android.print.PrintAttributes;
import android.print.PrintDocumentAdapter;
import android.print.PrintJob;
import android.print.PrintManager;
import android.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowInsetsController;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.WindowCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.Lifecycle;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textview.MaterialTextView;
import com.google.firebase.crashlytics.buildtools.ndk.internal.elf.EMachine;
import com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.protocol.HttpRequestExecutor;
import com.google.firebase.encoders.json.BuildConfig;
import com.google.firebase.messaging.FirebaseMessaging;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.kaunik.ampture.R;
import com.kaunik.ampture.databinding.ActivityMainBinding;
import com.kaunik.ampture.databinding.BookmarkDialogBinding;
import com.kaunik.ampture.databinding.DialogPrivacyInfoBinding;
import com.kaunik.ampture.databinding.FragmentBrowseBinding;
import com.kaunik.ampture.databinding.MoreFeaturesBinding;
import com.kaunik.ampture.fragment.BrowseFragmen;
import com.kaunik.ampture.fragment.HomeFragment;
import com.kaunik.ampture.model.Bookmark;
import com.kaunik.ampture.model.Tab;
import com.kaunik.ampture.util.SnapshotManager;
import java.io.ByteArrayOutputStream;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Iterator;
import java.util.Locale;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.coroutines.Continuation;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Ref;
import kotlin.text.StringsKt;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.BuildersKt__Builders_commonKt;
import kotlinx.coroutines.CoroutineScopeKt;
import kotlinx.coroutines.Dispatchers;
@Metadata(d1 = {"\u0000|\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0011\n\u0000\n\u0002\u0010\u0015\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u000f\u0018\u0000 P2\u00020\u0001:\u0002PQB\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u001e\u001a\u00020\u001f2\u0006\u0010 \u001a\u00020\u0012H\u0002J\b\u0010!\u001a\u00020\u001fH\u0002J\u0010\u0010\"\u001a\u00020\u001f2\u0006\u0010#\u001a\u00020$H\u0002J\u0019\u0010%\u001a\u00020\n2\u0006\u0010&\u001a\u00020\nH\u0082@ø\u0001\u0000¢\u0006\u0002\u0010'J\u0010\u0010(\u001a\u00020)2\u0006\u0010*\u001a\u00020\nH\u0002J\b\u0010+\u001a\u00020\u001fH\u0002J\u0012\u0010,\u001a\u00020\u001f2\b\u0010-\u001a\u0004\u0018\u00010.H\u0002J\b\u0010/\u001a\u00020\u001fH\u0003J\u000e\u00100\u001a\u00020)2\u0006\u0010*\u001a\u00020\nJ\b\u00101\u001a\u00020\u001fH\u0017J\u0012\u00102\u001a\u00020\u001f2\b\u00103\u001a\u0004\u0018\u000104H\u0015J\b\u00105\u001a\u00020\u001fH\u0014J\u0010\u00106\u001a\u00020\u001f2\u0006\u0010-\u001a\u00020.H\u0014J-\u00107\u001a\u00020\u001f2\u0006\u00108\u001a\u00020)2\u000e\u00109\u001a\n\u0012\u0006\b\u0001\u0012\u00020\n0:2\u0006\u0010;\u001a\u00020<H\u0016¢\u0006\u0002\u0010=J\b\u0010>\u001a\u00020\u001fH\u0014J\b\u0010?\u001a\u00020\u0012H\u0002J\b\u0010@\u001a\u00020\u001fH\u0002J\u0010\u0010A\u001a\u00020\u001f2\u0006\u0010B\u001a\u00020CH\u0002J\u0006\u0010D\u001a\u00020\u001fJ\b\u0010E\u001a\u00020\u001fH\u0002J\u0010\u0010F\u001a\u00020\u001f2\u0006\u0010G\u001a\u00020\nH\u0002J\b\u0010H\u001a\u00020\u0012H\u0002J\b\u0010I\u001a\u00020\u001fH\u0002J\u0010\u0010J\u001a\u00020\u001f2\u0006\u0010K\u001a\u00020\nH\u0002J\u0010\u0010L\u001a\u00020\u001f2\u0006\u0010*\u001a\u00020\nH\u0002J\b\u0010M\u001a\u00020\u001fH\u0002J\u000e\u0010N\u001a\u00020\u001f2\u0006\u0010O\u001a\u00020)R\u001a\u0010\u0003\u001a\u00020\u0004X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0005\u0010\u0006\"\u0004\b\u0007\u0010\bR\u001a\u0010\t\u001a\u00020\nX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u000b\u0010\f\"\u0004\b\r\u0010\u000eR\u0010\u0010\u000f\u001a\u0004\u0018\u00010\u0010X\u0082\u000e¢\u0006\u0002\n\u0000R\u001a\u0010\u0011\u001a\u00020\u0012X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0011\u0010\u0013\"\u0004\b\u0014\u0010\u0015R\u0010\u0010\u0016\u001a\u0004\u0018\u00010\u0017X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0018\u001a\u0004\u0018\u00010\u0019X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u001a\u001a\u0004\u0018\u00010\u001bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u001c\u001a\u0004\u0018\u00010\u0019X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u001d\u001a\u0004\u0018\u00010\u0019X\u0082\u000e¢\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006R"}, d2 = {"Lcom/kaunik/ampture/activity/MainActivity;", "Landroidx/appcompat/app/AppCompatActivity;", "()V", "binding", "Lcom/kaunik/ampture/databinding/ActivityMainBinding;", "getBinding", "()Lcom/kaunik/ampture/databinding/ActivityMainBinding;", "setBinding", "(Lcom/kaunik/ampture/databinding/ActivityMainBinding;)V", "currentUrl", BuildConfig.FLAVOR, "getCurrentUrl", "()Ljava/lang/String;", "setCurrentUrl", "(Ljava/lang/String;)V", "frag", "Lcom/kaunik/ampture/fragment/BrowseFragmen;", "isFullscreen", BuildConfig.FLAVOR, "()Z", "setFullscreen", "(Z)V", "materialDialog", "Landroidx/appcompat/app/AlertDialog;", "moreDialog", "Landroid/app/Dialog;", "printJob", "Landroid/print/PrintJob;", "privacyInfoDialog", "tabsDialog", "changeFullscreen", BuildConfig.FLAVOR, "enable", "createNotificationChannel", "enforceAppLock", "sharedPref", "Landroid/content/SharedPreferences;", "fetchSSLDetails", "urlString", "(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "findTabIndexByUrl", BuildConfig.FLAVOR, "url", "getAllBookmarks", "handleIncomingIntent", "intent", "Landroid/content/Intent;", "initializeView", "isBookmarked", "onBackPressed", "onCreate", "savedInstanceState", "Landroid/os/Bundle;", "onDestroy", "onNewIntent", "onRequestPermissionsResult", "requestCode", "permissions", BuildConfig.FLAVOR, "grantResults", BuildConfig.FLAVOR, "(I[Ljava/lang/String;[I)V", "onResume", "permissionAlreadyGranted", "requestNotificationPermission", "saveAsPdf", "web", "Landroid/webkit/WebView;", "saveBookmarks", "savePermissionAskTime", "setLocale", "language", "shouldAskForPermission", "showMoreFeaturesDialog", "showPasscodeDialog", "expectedPasscode", "showPrivacyInfoDialog", "showTabsDialog", "switchToTab", "position", "Companion", "TabsAdapter", "app_release"}, k = 1, mv = {1, 9, 0}, xi = EMachine.EM_H8S)
public final class MainActivity extends AppCompatActivity {
private static final int NOTIFICATION_REQUEST_CODE = 101;
private static boolean isAuthenticated;
private static boolean isDesktopSite;
public static ViewPager2 myPager;
public static MaterialTextView tabsBtn;
public ActivityMainBinding binding;
private String currentUrl = BuildConfig.FLAVOR;
private BrowseFragmen frag;
private boolean isFullscreen;
private AlertDialog materialDialog;
private Dialog moreDialog;
private PrintJob printJob;
private Dialog privacyInfoDialog;
private Dialog tabsDialog;
public static final Companion INSTANCE = new Companion(null);
private static ArrayList<Tab> tabList = new ArrayList<>();
private static ArrayList<Bookmark> bookmarkList = new ArrayList<>();
private static int bookmarkIndex = -1;
public final String getCurrentUrl() {
return this.currentUrl;
}
public final boolean getIsFullscreen() {
return this.isFullscreen;
}
public final void setBinding(ActivityMainBinding activityMainBinding) {
Intrinsics.checkNotNullParameter(activityMainBinding, "<set-?>");
this.binding = activityMainBinding;
}
public final void setCurrentUrl(String str) {
Intrinsics.checkNotNullParameter(str, "<set-?>");
this.currentUrl = str;
}
public final void setFullscreen(boolean z) {
this.isFullscreen = z;
}
public final ActivityMainBinding getBinding() {
ActivityMainBinding activityMainBinding = this.binding;
if (activityMainBinding != null) {
return activityMainBinding;
}
Intrinsics.throwUninitializedPropertyAccessException("binding");
return null;
}
@Metadata(d1 = {"\u0000D\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000R\u001a\u0010\u0005\u001a\u00020\u0004X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0006\u0010\u0007\"\u0004\b\b\u0010\tR*\u0010\n\u001a\u0012\u0012\u0004\u0012\u00020\f0\u000bj\b\u0012\u0004\u0012\u00020\f`\rX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u000e\u0010\u000f\"\u0004\b\u0010\u0010\u0011R\u001a\u0010\u0012\u001a\u00020\u0013X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0014\"\u0004\b\u0015\u0010\u0016R\u001a\u0010\u0017\u001a\u00020\u0013X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0017\u0010\u0014\"\u0004\b\u0018\u0010\u0016R\u001a\u0010\u0019\u001a\u00020\u001aX\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u001b\u0010\u001c\"\u0004\b\u001d\u0010\u001eR*\u0010\u001f\u001a\u0012\u0012\u0004\u0012\u00020 0\u000bj\b\u0012\u0004\u0012\u00020 `\rX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b!\u0010\u000f\"\u0004\b\"\u0010\u0011R\u001a\u0010#\u001a\u00020$X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b%\u0010&\"\u0004\b'\u0010(¨\u0006)"}, d2 = {"Lcom/kaunik/ampture/activity/MainActivity$Companion;", BuildConfig.FLAVOR, "()V", "NOTIFICATION_REQUEST_CODE", BuildConfig.FLAVOR, "bookmarkIndex", "getBookmarkIndex", "()I", "setBookmarkIndex", "(I)V", "bookmarkList", "Ljava/util/ArrayList;", "Lcom/kaunik/ampture/model/Bookmark;", "Lkotlin/collections/ArrayList;", "getBookmarkList", "()Ljava/util/ArrayList;", "setBookmarkList", "(Ljava/util/ArrayList;)V", "isAuthenticated", BuildConfig.FLAVOR, "()Z", "setAuthenticated", "(Z)V", "isDesktopSite", "setDesktopSite", "myPager", "Landroidx/viewpager2/widget/ViewPager2;", "getMyPager", "()Landroidx/viewpager2/widget/ViewPager2;", "setMyPager", "(Landroidx/viewpager2/widget/ViewPager2;)V", "tabList", "Lcom/kaunik/ampture/model/Tab;", "getTabList", "setTabList", "tabsBtn", "Lcom/google/android/material/textview/MaterialTextView;", "getTabsBtn", "()Lcom/google/android/material/textview/MaterialTextView;", "setTabsBtn", "(Lcom/google/android/material/textview/MaterialTextView;)V", "app_release"}, k = 1, mv = {1, 9, 0}, xi = EMachine.EM_H8S)
public static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
public final ArrayList<Tab> getTabList() {
return MainActivity.tabList;
}
public final void setTabList(ArrayList<Tab> arrayList) {
Intrinsics.checkNotNullParameter(arrayList, "<set-?>");
MainActivity.tabList = arrayList;
}
public final boolean isAuthenticated() {
return MainActivity.isAuthenticated;
}
public final void setAuthenticated(boolean z) {
MainActivity.isAuthenticated = z;
}
public final boolean isDesktopSite() {
return MainActivity.isDesktopSite;
}
public final void setDesktopSite(boolean z) {
MainActivity.isDesktopSite = z;
}
public final ArrayList<Bookmark> getBookmarkList() {
return MainActivity.bookmarkList;
}
public final void setBookmarkList(ArrayList<Bookmark> arrayList) {
Intrinsics.checkNotNullParameter(arrayList, "<set-?>");
MainActivity.bookmarkList = arrayList;
}
public final int getBookmarkIndex() {
return MainActivity.bookmarkIndex;
}
public final void setBookmarkIndex(int i) {
MainActivity.bookmarkIndex = i;
}
public final ViewPager2 getMyPager() {
ViewPager2 viewPager2 = MainActivity.myPager;
if (viewPager2 != null) {
return viewPager2;
}
Intrinsics.throwUninitializedPropertyAccessException("myPager");
return null;
}
public final void setMyPager(ViewPager2 viewPager2) {
Intrinsics.checkNotNullParameter(viewPager2, "<set-?>");
MainActivity.myPager = viewPager2;
}
public final MaterialTextView getTabsBtn() {
MaterialTextView materialTextView = MainActivity.tabsBtn;
if (materialTextView != null) {
return materialTextView;
}
Intrinsics.throwUninitializedPropertyAccessException("tabsBtn");
return null;
}
public final void setTabsBtn(MaterialTextView materialTextView) {
Intrinsics.checkNotNullParameter(materialTextView, "<set-?>");
MainActivity.tabsBtn = materialTextView;
}
}
protected void onCreate(Bundle savedInstanceState) {
Locale locale;
LocaleList locales;
super.onCreate(savedInstanceState);
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", 0);
if (savedInstanceState == null) {
isAuthenticated = false;
}
if (!sharedPreferences.getBoolean("DefaultDeviceLanguage", true)) {
locale = new Locale("en");
} else if (Build.VERSION.SDK_INT >= 24) {
locales = getResources().getConfiguration().getLocales();
locale = locales.get(0);
} else {
locale = getResources().getConfiguration().locale;
}
String language = locale.getLanguage();
Intrinsics.checkNotNullExpressionValue(language, "getLanguage(...)");
setLocale(language);
if (Build.VERSION.SDK_INT >= 28) {
getWindow().getAttributes().layoutInDisplayCutoutMode = 1;
}
if (!isTaskRoot()) {
finish();
return;
}
ActivityMainBinding inflate = ActivityMainBinding.inflate(getLayoutInflater());
Intrinsics.checkNotNullExpressionValue(inflate, "inflate(...)");
setBinding(inflate);
setContentView((View) getBinding().getRoot());
Intrinsics.checkNotNull(sharedPreferences);
enforceAppLock(sharedPreferences);
getBinding().getRoot().setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
@Override
public final WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
WindowInsets onCreate$lambda$0;
onCreate$lambda$0 = MainActivity.onCreate$lambda$0(view, windowInsets);
return onCreate$lambda$0;
}
});
boolean z = sharedPreferences.getBoolean("ExitFullscreen", false);
findViewById(R.id.motionlayout);
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
FirebaseMessaging.getInstance().subscribeToTopic("notifications");
getAllBookmarks();
createNotificationChannel();
if (!permissionAlreadyGranted()) {
if (shouldAskForPermission()) {
requestNotificationPermission();
} else {
savePermissionAskTime();
}
}
if (tabList.isEmpty()) {
tabList.add(new Tab("Home", new HomeFragment(), 0L, 4, null));
}
ViewPager2 viewPager2 = getBinding().myPager;
FragmentManager supportFragmentManager = getSupportFragmentManager();
Intrinsics.checkNotNullExpressionValue(supportFragmentManager, "getSupportFragmentManager(...)");
viewPager2.setAdapter(new TabsAdapter(this, supportFragmentManager, getLifecycle()));
getBinding().myPager.setUserInputEnabled(false);
Companion companion = INSTANCE;
ViewPager2 myPager2 = getBinding().myPager;
Intrinsics.checkNotNullExpressionValue(myPager2, "myPager");
companion.setMyPager(myPager2);
MaterialTextView tabsBtn2 = getBinding().tabsBtn;
Intrinsics.checkNotNullExpressionValue(tabsBtn2, "tabsBtn");
companion.setTabsBtn(tabsBtn2);
companion.getTabsBtn().setText(String.valueOf(tabList.size()));
initializeView();
changeFullscreen(z);
getBinding().webPrivacyInfo.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.onCreate$lambda$2(MainActivity.this, view);
}
});
handleIncomingIntent(getIntent());
boolean z2 = sharedPreferences.getBoolean("SaveHistory", true);
getBinding().inIncrognitoView.setVisibility(z2 ? 8 : 0);
getBinding().topBarMA2.setVisibility(z2 ? 8 : 0);
}
public static final WindowInsets onCreate$lambda$0(View view, WindowInsets insets) {
Intrinsics.checkNotNullParameter(view, "view");
Intrinsics.checkNotNullParameter(insets, "insets");
WindowInsetsCompat windowInsetsCompat = WindowInsetsCompat.toWindowInsetsCompat(insets);
Intrinsics.checkNotNullExpressionValue(windowInsetsCompat, "toWindowInsetsCompat(...)");
Insets insets2 = windowInsetsCompat.getInsets(WindowInsetsCompat.Type.systemBars());
Intrinsics.checkNotNullExpressionValue(insets2, "getInsets(...)");
view.setPadding(0, insets2.top, 0, insets2.bottom);
return insets;
}
public static final void onCreate$lambda$2(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Fragment fragment = tabList.get(INSTANCE.getMyPager().getCurrentItem()).getFragment();
BrowseFragmen browseFragmen = fragment instanceof BrowseFragmen ? (BrowseFragmen) fragment : null;
if (browseFragmen != null) {
String url = browseFragmen.getBinding().webView.getUrl();
if (url == null) {
url = "Unknown URL";
}
Intrinsics.checkNotNull(url);
this$0.showPrivacyInfoDialog(url);
}
}
private final void showPrivacyInfoDialog(String url) {
Window window;
DialogPrivacyInfoBinding inflate = DialogPrivacyInfoBinding.inflate(getLayoutInflater());
Intrinsics.checkNotNullExpressionValue(inflate, "inflate(...)");
Dialog dialog = new Dialog((Context) this, android.R.style.Theme.Material.Light.Dialog.NoActionBar);
this.privacyInfoDialog = dialog;
dialog.setContentView(inflate.getRoot());
Dialog dialog2 = this.privacyInfoDialog;
if (dialog2 != null && (window = dialog2.getWindow()) != null) {
window.getAttributes().gravity = 80;
window.getAttributes().y = 10;
window.setBackgroundDrawable(new ColorDrawable(-1));
window.setBackgroundDrawableResource(R.drawable.custom_design);
window.getAttributes().windowAnimations = R.style.DialogAnimation;
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
layoutParams.copyFrom(window.getAttributes());
layoutParams.width = -1;
window.setAttributes(layoutParams);
}
inflate.tvUrl.setText(url);
inflate.tvSecurityStatus.setText("Checking connection...");
inflate.progressBar.setVisibility(0);
BuildersKt__Builders_commonKt.launch$default(CoroutineScopeKt.CoroutineScope(Dispatchers.getIO()), null, null, new MainActivity$showPrivacyInfoDialog$2(this, url, inflate, null), 3, null);
inflate.btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showPrivacyInfoDialog$lambda$4(MainActivity.this, view);
}
});
Dialog dialog3 = this.privacyInfoDialog;
if (dialog3 != null) {
dialog3.show();
}
}
public static final void showPrivacyInfoDialog$lambda$4(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Dialog dialog = this$0.privacyInfoDialog;
if (dialog != null) {
dialog.dismiss();
}
}
public final Object fetchSSLDetails(String str, Continuation<? super String> continuation) {
return BuildersKt.withContext(Dispatchers.getIO(), new MainActivity$fetchSSLDetails$2(str, null), continuation);
}
protected void onNewIntent(Intent intent) {
Intrinsics.checkNotNullParameter(intent, "intent");
super.onNewIntent(intent);
setIntent(intent);
handleIncomingIntent(intent);
}
private final void handleIncomingIntent(Intent intent) {
if (intent == null || !Intrinsics.areEqual("android.intent.action.VIEW", intent.getAction())) {
return;
}
String valueOf = String.valueOf(intent.getData());
final int findTabIndexByUrl = findTabIndexByUrl(valueOf);
if (findTabIndexByUrl != -1) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public final void run() {
MainActivity.handleIncomingIntent$lambda$6$lambda$5(MainActivity.this, findTabIndexByUrl);
}
});
} else {
MainActivityKt.changeTab$default(valueOf, new BrowseFragmen(valueOf), false, 4, null);
}
}
public static final void handleIncomingIntent$lambda$6$lambda$5(MainActivity this$0, int i) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.getBinding().myPager.setCurrentItem(i);
}
private final int findTabIndexByUrl(String url) {
int size = tabList.size();
for (int i = 0; i < size; i++) {
Fragment fragment = tabList.get(i).getFragment();
BrowseFragmen browseFragmen = fragment instanceof BrowseFragmen ? (BrowseFragmen) fragment : null;
if (Intrinsics.areEqual(browseFragmen != null ? browseFragmen.getUrlNew() : null, url)) {
return i;
}
}
return -1;
}
private final void setLocale(String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration configuration = getResources().getConfiguration();
configuration.setLocale(locale);
getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
if (Build.VERSION.SDK_INT >= 26) {
Context createConfigurationContext = createConfigurationContext(configuration);
getResources().updateConfiguration(createConfigurationContext.getResources().getConfiguration(), createConfigurationContext.getResources().getDisplayMetrics());
}
}
private final void createNotificationChannel() {
Object systemService;
if (Build.VERSION.SDK_INT >= 26) {
MainActivity$$ExternalSyntheticApiModelOutline0.m142m();
NotificationChannel m = MainActivity$$ExternalSyntheticApiModelOutline0.m("my_channel_id", "My Channel", 3);
systemService = getSystemService(NotificationManager.class);
((NotificationManager) systemService).createNotificationChannel(m);
}
}
private final void requestNotificationPermission() {
ActivityCompat.requestPermissions((Activity) this, new String[]{"android.permission.POST_NOTIFICATIONS"}, 101);
}
private final boolean permissionAlreadyGranted() {
return getSharedPreferences("MyPrefs", 0).getBoolean("notificationPermissionGranted", false);
}
private final boolean shouldAskForPermission() {
return ActivityCompat.shouldShowRequestPermissionRationale((Activity) this, "android.permission.POST_NOTIFICATIONS") || (((System.currentTimeMillis() - getSharedPreferences("MyPrefs", 0).getLong("permissionAskTime", 0L)) > 86400000L ? 1 : ((System.currentTimeMillis() - getSharedPreferences("MyPrefs", 0).getLong("permissionAskTime", 0L)) == 86400000L ? 0 : -1)) > 0);
}
private final void savePermissionAskTime() {
getSharedPreferences("MyPrefs", 0).edit().putLong("permissionAskTime", System.currentTimeMillis()).apply();
}
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
Intrinsics.checkNotNullParameter(permissions, "permissions");
Intrinsics.checkNotNullParameter(grantResults, "grantResults");
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 101) {
if ((!(grantResults.length == 0)) && grantResults[0] == 0) {
getSharedPreferences("MyPrefs", 0).edit().putBoolean("notificationPermissionGranted", true).apply();
}
}
}
public void onBackPressed() {
BrowseFragmen browseFragmen;
FragmentBrowseBinding binding;
WebView webView;
FragmentBrowseBinding binding2;
WebView webView2;
try {
Fragment fragment = tabList.get(getBinding().myPager.getCurrentItem()).getFragment();
Intrinsics.checkNotNull(fragment, "null cannot be cast to non-null type com.kaunik.ampture.fragment.BrowseFragmen");
browseFragmen = (BrowseFragmen) fragment;
} catch (Exception unused) {
browseFragmen = null;
}
if (browseFragmen != null && (binding = browseFragmen.getBinding()) != null && (webView = binding.webView) != null && webView.canGoBack()) {
if (browseFragmen == null || (binding2 = browseFragmen.getBinding()) == null || (webView2 = binding2.webView) == null) {
return;
}
webView2.goBack();
return;
}
if (getBinding().myPager.getCurrentItem() != 0) {
tabList.remove(getBinding().myPager.getCurrentItem());
RecyclerView.Adapter adapter = getBinding().myPager.getAdapter();
if (adapter != null) {
adapter.notifyDataSetChanged();
}
getBinding().myPager.setCurrentItem(tabList.size() - 1);
return;
}
super.onBackPressed();
}
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\b\u0082\u0004\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\nH\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u000eH\u0016J\b\u0010\u000f\u001a\u00020\u000eH\u0016J\u0010\u0010\u0010\u001a\u00020\n2\u0006\u0010\r\u001a\u00020\u000eH\u0016¨\u0006\u0011"}, d2 = {"Lcom/kaunik/ampture/activity/MainActivity$TabsAdapter;", "Landroidx/viewpager2/adapter/FragmentStateAdapter;", "fa", "Landroidx/fragment/app/FragmentManager;", "lc", "Landroidx/lifecycle/Lifecycle;", "(Lcom/kaunik/ampture/activity/MainActivity;Landroidx/fragment/app/FragmentManager;Landroidx/lifecycle/Lifecycle;)V", "containsItem", BuildConfig.FLAVOR, "itemId", BuildConfig.FLAVOR, "createFragment", "Landroidx/fragment/app/Fragment;", "position", BuildConfig.FLAVOR, "getItemCount", "getItemId", "app_release"}, k = 1, mv = {1, 9, 0}, xi = EMachine.EM_H8S)
private final class TabsAdapter extends FragmentStateAdapter {
final MainActivity this$0;
public TabsAdapter(MainActivity mainActivity, FragmentManager fa, Lifecycle lc) {
super(fa, lc);
Intrinsics.checkNotNullParameter(fa, "fa");
Intrinsics.checkNotNullParameter(lc, "lc");
this.this$0 = mainActivity;
}
public int getItemCount() {
return MainActivity.INSTANCE.getTabList().size();
}
public Fragment createFragment(int position) {
return MainActivity.INSTANCE.getTabList().get(position).getFragment();
}
public long getItemId(int position) {
return MainActivity.INSTANCE.getTabList().get(position).getId();
}
public boolean containsItem(long itemId) {
ArrayList<Tab> tabList = MainActivity.INSTANCE.getTabList();
if ((tabList instanceof Collection) && tabList.isEmpty()) {
return false;
}
Iterator<T> it = tabList.iterator();
while (it.hasNext()) {
if (((Tab) it.next()).getId() == itemId) {
return true;
}
}
return false;
}
}
private final void initializeView() {
getBinding().tabsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$7(MainActivity.this, view);
}
});
getBinding().topSearchBar.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$8(MainActivity.this, view);
}
});
getBinding().topOpenInAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$9(MainActivity.this, view);
}
});
getBinding().navMoreBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$10(MainActivity.this, view);
}
});
getBinding().navBackBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$11(MainActivity.this, view);
}
});
getBinding().topChangeSE.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$12(MainActivity.this, view);
}
});
getBinding().navForwardBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$14(MainActivity.this, view);
}
});
getBinding().navShareBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.initializeView$lambda$15(MainActivity.this, view);
}
});
}
public static final void initializeView$lambda$7(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.showTabsDialog();
}
public static final void initializeView$lambda$8(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void initializeView$lambda$9(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse(this$0.currentUrl));
this$0.startActivity(intent);
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void initializeView$lambda$10(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.showMoreFeaturesDialog();
}
public static final void initializeView$lambda$11(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.onBackPressed();
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void initializeView$lambda$12(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Context context = (Context) this$0;
Intent intent = new Intent(context, (Class<?>) ChangeSearchEngineActivity.class);
if (Build.VERSION.SDK_INT >= 29) {
this$0.startActivity(intent, ActivityOptions.makeCustomAnimation(context, R.anim.slide_up, android.R.anim.fade_out).toBundle());
} else {
this$0.startActivity(intent);
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
view.performHapticFeedback(0);
}
}
public static final void initializeView$lambda$14(MainActivity this$0, View view) {
BrowseFragmen browseFragmen;
Intrinsics.checkNotNullParameter(this$0, "this$0");
try {
Fragment fragment = tabList.get(this$0.getBinding().myPager.getCurrentItem()).getFragment();
Intrinsics.checkNotNull(fragment, "null cannot be cast to non-null type com.kaunik.ampture.fragment.BrowseFragmen");
browseFragmen = (BrowseFragmen) fragment;
} catch (Exception e) {
e.printStackTrace();
browseFragmen = null;
}
this$0.frag = browseFragmen;
if (browseFragmen != null && browseFragmen.getBinding().webView.canGoForward()) {
browseFragmen.getBinding().webView.goForward();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void initializeView$lambda$15(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Fragment findFragmentByTag = this$0.getSupportFragmentManager().findFragmentByTag("f" + INSTANCE.getMyPager().getCurrentItem());
if (findFragmentByTag instanceof BrowseFragmen) {
((BrowseFragmen) findFragmentByTag).shareWebpageFromFragment();
}
String str = this$0.currentUrl;
if (str == null || str.length() == 0) {
Toast.makeText((Context) this$0, "Please open a url!", 0).show();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
private final void showMoreFeaturesDialog() {
Window window;
final Ref.ObjectRef objectRef = new Ref.ObjectRef();
try {
Fragment fragment = tabList.get(getBinding().myPager.getCurrentItem()).getFragment();
Intrinsics.checkNotNull(fragment, "null cannot be cast to non-null type com.kaunik.ampture.fragment.BrowseFragmen");
objectRef.element = (BrowseFragmen) fragment;
} catch (Exception unused) {
}
View inflate = getLayoutInflater().inflate(R.layout.more_features, (ViewGroup) getBinding().getRoot(), false);
MoreFeaturesBinding bind = MoreFeaturesBinding.bind(inflate);
Intrinsics.checkNotNullExpressionValue(bind, "bind(...)");
Context context = (Context) this;
Dialog create = new MaterialAlertDialogBuilder(context, R.style.BlurTheme).setView(inflate).create();
this.moreDialog = create;
if (create != null && (window = create.getWindow()) != null) {
window.getAttributes().gravity = 80;
window.getAttributes().y = 10;
window.setBackgroundDrawable(new ColorDrawable(-1));
window.setBackgroundDrawableResource(R.drawable.custom_design);
window.getAttributes().windowAnimations = R.style.DialogAnimation;
}
if (getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback(context, 50L);
}
Dialog dialog = this.moreDialog;
if (dialog != null) {
dialog.show();
}
if (this.isFullscreen) {
MaterialButton materialButton = bind.fullscreenBtn;
materialButton.setIconTintResource(R.color.M2);
materialButton.setTextColor(ContextCompat.getColor(context, R.color.M2));
}
BrowseFragmen browseFragmen = (BrowseFragmen) objectRef.element;
if (browseFragmen != null) {
String url = browseFragmen.getBinding().webView.getUrl();
Intrinsics.checkNotNull(url);
int isBookmarked = isBookmarked(url);
bookmarkIndex = isBookmarked;
if (isBookmarked != -1) {
MaterialButton materialButton2 = bind.bookmarkBtn;
materialButton2.setIconTintResource(R.color.M2);
materialButton2.setTextColor(ContextCompat.getColor(context, R.color.M2));
}
}
if (isDesktopSite) {
MaterialButton materialButton3 = bind.desktopBtn;
materialButton3.setIconTintResource(R.color.M2);
materialButton3.setTextColor(ContextCompat.getColor(context, R.color.M2));
}
bind.createWebAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$23(Ref.ObjectRef.this, this, view);
}
});
bind.settingssBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$24(MainActivity.this, view);
}
});
bind.backBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$25(MainActivity.this, view);
}
});
bind.forwardBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$27(Ref.ObjectRef.this, view);
}
});
bind.downloadsShortcutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$28(MainActivity.this, view);
}
});
bind.changeSEShortutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$29(MainActivity.this, view);
}
});
bind.openInAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$30(MainActivity.this, view);
}
});
bind.saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$33(MainActivity.this, objectRef, view);
}
});
bind.desktopBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$35(MainActivity.this, objectRef, view);
}
});
bind.fullscreenBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$36(MainActivity.this, view);
}
});
bind.closeAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$37(MainActivity.this, view);
}
});
bind.sharingBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$38(MainActivity.this, view);
}
});
bind.bookmarkBtn.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showMoreFeaturesDialog$lambda$44(Ref.ObjectRef.this, this, view);
}
});
}
public static final void showMoreFeaturesDialog$lambda$23(Ref.ObjectRef frag, MainActivity this$0, View view) {
Object systemService;
boolean isRequestPinShortcutSupported;
ShortcutInfo.Builder shortLabel;
ShortcutInfo.Builder longLabel;
ShortcutInfo.Builder intent;
ShortcutInfo build;
Icon createWithBitmap;
Intrinsics.checkNotNullParameter(frag, "$frag");
Intrinsics.checkNotNullParameter(this$0, "this$0");
BrowseFragmen browseFragmen = (BrowseFragmen) frag.element;
if (browseFragmen != null) {
String url = browseFragmen.getBinding().webView.getUrl();
if (url != null && url.length() > 0) {
Bitmap webicon = browseFragmen.getWebicon();
if (Build.VERSION.SDK_INT >= 26) {
systemService = this$0.getSystemService(MainActivity$$ExternalSyntheticApiModelOutline0.m141m());
ShortcutManager m = MainActivity$$ExternalSyntheticApiModelOutline0.m(systemService);
isRequestPinShortcutSupported = m.isRequestPinShortcutSupported();
if (isRequestPinShortcutSupported) {
MainActivity$$ExternalSyntheticApiModelOutline0.m$1();
Context context = (Context) this$0;
shortLabel = MainActivity$$ExternalSyntheticApiModelOutline0.m(context, url).setShortLabel("Web App");
longLabel = shortLabel.setLongLabel("Open Web App");
Intrinsics.checkNotNullExpressionValue(longLabel, "setLongLabel(...)");
if (webicon != null) {
createWithBitmap = Icon.createWithBitmap(webicon);
longLabel.setIcon(createWithBitmap);
}
Intent intent2 = new Intent(context, (Class<?>) WebViewForWebAppActivity.class);
intent2.setAction("android.intent.action.VIEW");
intent2.putExtra("URL", url);
intent = longLabel.setIntent(intent2);
build = intent.build();
Intrinsics.checkNotNullExpressionValue(build, "build(...)");
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
m.requestPinShortcut(build, null);
return;
}
Toast.makeText((Context) this$0, "Your device doesn't support this feature.", 0).show();
return;
}
Toast.makeText((Context) this$0, "Your device's Android version does not support this feature.", 0).show();
return;
}
Toast.makeText((Context) this$0, "No website is currently open.", 0).show();
}
}
public static final void showMoreFeaturesDialog$lambda$24(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
Context context = (Context) this$0;
Intent intent = new Intent(context, (Class<?>) mSettingsActivity.class);
if (Build.VERSION.SDK_INT >= 29) {
this$0.startActivity(intent, ActivityOptions.makeCustomAnimation(context, R.anim.slide_up, android.R.anim.fade_out).toBundle());
} else {
this$0.startActivity(intent);
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback(context, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$25(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.onBackPressed();
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
public static final void showMoreFeaturesDialog$lambda$27(Ref.ObjectRef frag, View view) {
Intrinsics.checkNotNullParameter(frag, "$frag");
BrowseFragmen browseFragmen = (BrowseFragmen) frag.element;
if (browseFragmen == null || !browseFragmen.getBinding().webView.canGoForward()) {
return;
}
browseFragmen.getBinding().webView.goForward();
}
public static final void showMoreFeaturesDialog$lambda$28(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
this$0.startActivity(new Intent("android.intent.action.VIEW_DOWNLOADS"));
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$29(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Context context = (Context) this$0;
Intent intent = new Intent(context, (Class<?>) ChangeSearchEngineActivity.class);
if (Build.VERSION.SDK_INT >= 29) {
this$0.startActivity(intent, ActivityOptions.makeCustomAnimation(context, R.anim.slide_up, android.R.anim.fade_out).toBundle());
} else {
this$0.startActivity(intent);
}
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
view.performHapticFeedback(0);
}
}
public static final void showMoreFeaturesDialog$lambda$30(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
String str = this$0.currentUrl;
if (str != null && str.length() != 0) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse(this$0.currentUrl));
this$0.startActivity(intent);
} else {
Toast.makeText((Context) this$0, "Please open a url!", 0).show();
}
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$33(MainActivity this$0, Ref.ObjectRef frag, View view) {
Unit unit;
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intrinsics.checkNotNullParameter(frag, "$frag");
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
BrowseFragmen browseFragmen = (BrowseFragmen) frag.element;
if (browseFragmen != null) {
WebView webView = browseFragmen.getBinding().webView;
Intrinsics.checkNotNullExpressionValue(webView, "webView");
this$0.saveAsPdf(webView);
unit = Unit.INSTANCE;
} else {
unit = null;
}
if (unit == null) {
Snackbar.make(this$0.getBinding().getRoot(), "Open a webpage first!", HttpRequestExecutor.DEFAULT_WAIT_FOR_CONTINUE).show();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$35(MainActivity this$0, Ref.ObjectRef frag, View view) {
FragmentBrowseBinding binding;
WebView webView;
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intrinsics.checkNotNullParameter(frag, "$frag");
Intrinsics.checkNotNull(view, "null cannot be cast to non-null type com.google.android.material.button.MaterialButton");
MaterialButton materialButton = (MaterialButton) view;
Context context = (Context) this$0;
MainActivityKt.performHapticFeedback(context, 50L);
BrowseFragmen browseFragmen = (BrowseFragmen) frag.element;
if (browseFragmen == null || (binding = browseFragmen.getBinding()) == null || (webView = binding.webView) == null) {
return;
}
TransitionManager.beginDelayedTransition(webView);
WebSettings settings = webView.getSettings();
Intrinsics.checkNotNullExpressionValue(settings, "getSettings(...)");
String url = webView.getUrl();
String userAgentString = settings.getUserAgentString();
Intrinsics.checkNotNullExpressionValue(userAgentString, "getUserAgentString(...)");
boolean z = false;
if (StringsKt.contains$default((CharSequence) userAgentString, (CharSequence) "Mobile", false, 2, (Object) null)) {
settings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36");
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
materialButton.setIconTintResource(R.color.M2);
materialButton.setTextColor(ContextCompat.getColor(context, R.color.M2));
} else {
settings.setUserAgentString(null);
settings.setUseWideViewPort(false);
settings.setLoadWithOverviewMode(false);
materialButton.setIconTintResource(R.color.b1);
materialButton.setTextColor(ContextCompat.getColor(context, R.color.b1));
z = true;
}
isDesktopSite = z;
if (url != null) {
webView.loadUrl(url);
}
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
}
public static final void showMoreFeaturesDialog$lambda$36(MainActivity this$0, View view) {
boolean z;
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intrinsics.checkNotNull(view, "null cannot be cast to non-null type com.google.android.material.button.MaterialButton");
MaterialButton materialButton = (MaterialButton) view;
if (this$0.isFullscreen) {
this$0.changeFullscreen(false);
materialButton.setIconTintResource(R.color.M2);
materialButton.setTextColor(ContextCompat.getColor((Context) this$0, R.color.M2));
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
z = false;
} else {
this$0.changeFullscreen(true);
materialButton.setIconTintResource(R.color.b1);
materialButton.setTextColor(ContextCompat.getColor((Context) this$0, R.color.b1));
Dialog dialog2 = this$0.moreDialog;
if (dialog2 != null) {
dialog2.dismiss();
}
z = true;
}
this$0.isFullscreen = z;
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$37(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
this$0.finishAffinity();
}
public static final void showMoreFeaturesDialog$lambda$38(MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
Fragment findFragmentByTag = this$0.getSupportFragmentManager().findFragmentByTag("f" + INSTANCE.getMyPager().getCurrentItem());
if (findFragmentByTag instanceof BrowseFragmen) {
((BrowseFragmen) findFragmentByTag).shareWebpageFromFragment();
}
String str = this$0.currentUrl;
if (str == null || str.length() == 0) {
Toast.makeText((Context) this$0, "Please open a url!", 0).show();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$44(Ref.ObjectRef frag, final MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(frag, "$frag");
Intrinsics.checkNotNullParameter(this$0, "this$0");
final BrowseFragmen browseFragmen = (BrowseFragmen) frag.element;
if (browseFragmen != null) {
final String url = browseFragmen.getBinding().webView.getUrl();
String title = browseFragmen.getBinding().webView.getTitle();
if (bookmarkIndex == -1) {
View inflate = this$0.getLayoutInflater().inflate(R.layout.bookmark_dialog, (ViewGroup) this$0.getBinding().getRoot(), false);
final BookmarkDialogBinding bind = BookmarkDialogBinding.bind(inflate);
Intrinsics.checkNotNullExpressionValue(bind, "bind(...)");
AlertDialog create = new MaterialAlertDialogBuilder((Context) this$0).setTitle("Add Bookmark").setMessage("Url: " + url).setPositiveButton("Add", new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
MainActivity.showMoreFeaturesDialog$lambda$44$lambda$43$lambda$39(BrowseFragmen.this, bind, url, this$0, dialogInterface, i);
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).setView(inflate).create();
Intrinsics.checkNotNullExpressionValue(create, "create(...)");
bind.bookmarkTitle.setText(title);
bind.bookmarkUrl.setText(url);
bind.bookmarkUrl.setEnabled(false);
create.show();
} else {
AlertDialog create2 = new MaterialAlertDialogBuilder((Context) this$0).setTitle("Remove Bookmark").setMessage("Url: " + browseFragmen.getBinding().webView.getUrl()).setPositiveButton("Remove", new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
MainActivity.showMoreFeaturesDialog$lambda$44$lambda$43$lambda$41(MainActivity.this, dialogInterface, i);
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).create();
Intrinsics.checkNotNullExpressionValue(create2, "create(...)");
create2.show();
}
}
Dialog dialog = this$0.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
if (this$0.getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this$0, 50L);
}
}
public static final void showMoreFeaturesDialog$lambda$44$lambda$43$lambda$39(BrowseFragmen it, BookmarkDialogBinding bBinding, String str, MainActivity this$0, DialogInterface dialogInterface, int i) {
Intrinsics.checkNotNullParameter(it, "$it");
Intrinsics.checkNotNullParameter(bBinding, "$bBinding");
Intrinsics.checkNotNullParameter(this$0, "this$0");
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Bitmap webicon = it.getWebicon();
if (webicon != null) {
webicon.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
}
ArrayList<Bookmark> arrayList = bookmarkList;
String obj = bBinding.bookmarkTitle.getText().toString();
Intrinsics.checkNotNull(str);
arrayList.add(new Bookmark(obj, str, byteArrayOutputStream.toByteArray()));
} catch (Exception unused) {
ArrayList<Bookmark> arrayList2 = bookmarkList;
String obj2 = bBinding.bookmarkTitle.getText().toString();
Intrinsics.checkNotNull(str);
arrayList2.add(new Bookmark(obj2, str, null, 4, null));
}
this$0.saveBookmarks();
dialogInterface.dismiss();
}
public static final void showMoreFeaturesDialog$lambda$44$lambda$43$lambda$41(MainActivity this$0, DialogInterface dialogInterface, int i) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
bookmarkList.remove(bookmarkIndex);
this$0.saveBookmarks();
dialogInterface.dismiss();
}
private final void showTabsDialog() {
new TabsBottomSheet().show(getSupportFragmentManager(), "TabsBottomSheet");
if (getSharedPreferences("MyPrefs", 0).getBoolean("HapticEnabled", true)) {
MainActivityKt.performHapticFeedback((Context) this, 50L);
}
}
protected void onResume() {
super.onResume();
PrintJob printJob = this.printJob;
if (printJob != null) {
if (printJob.isCompleted()) {
Snackbar.make(getBinding().getRoot(), "Sucessful -> " + printJob.getInfo().getLabel(), 4000).show();
return;
}
if (printJob.isFailed()) {
Snackbar.make(getBinding().getRoot(), "Failed -> " + printJob.getInfo().getLabel(), 4000).show();
}
}
}
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT >= 28) {
SnapshotManager.INSTANCE.clearAllSnapshots((Context) this);
}
tabList.clear();
Dialog dialog = this.moreDialog;
if (dialog != null) {
dialog.dismiss();
}
this.moreDialog = null;
Dialog dialog2 = this.tabsDialog;
if (dialog2 != null) {
dialog2.dismiss();
}
this.tabsDialog = null;
AlertDialog alertDialog = this.materialDialog;
if (alertDialog != null) {
alertDialog.dismiss();
}
this.materialDialog = null;
Dialog dialog3 = this.privacyInfoDialog;
if (dialog3 != null) {
dialog3.dismiss();
}
this.privacyInfoDialog = null;
}
private final void enforceAppLock(SharedPreferences sharedPref) {
String string;
if (!sharedPref.getBoolean("AppLockEnabled", false) || isAuthenticated || (string = sharedPref.getString("AppLockPasscode", null)) == null) {
return;
}
showPasscodeDialog(string);
}
private final void showPasscodeDialog(final String expectedPasscode) {
Button button;
View inflate = getLayoutInflater().inflate(R.layout.dialog_set_passcode, (ViewGroup) null);
final EditText editText = (EditText) inflate.findViewById(R.id.passcodeInput);
AlertDialog create = new MaterialAlertDialogBuilder((Context) this, R.style.CustomMaterialDialog).setTitle("App Lock").setMessage("Enter your passcode to continue").setView(inflate).setCancelable(false).setPositiveButton("OK", (DialogInterface.OnClickListener) null).create();
this.materialDialog = create;
if (create != null) {
create.show();
}
AlertDialog alertDialog = this.materialDialog;
if (alertDialog == null || (button = alertDialog.getButton(-1)) == null) {
return;
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
MainActivity.showPasscodeDialog$lambda$46(editText, expectedPasscode, this, view);
}
});
}
public static final void showPasscodeDialog$lambda$46(EditText editText, String expectedPasscode, MainActivity this$0, View view) {
Intrinsics.checkNotNullParameter(expectedPasscode, "$expectedPasscode");
Intrinsics.checkNotNullParameter(this$0, "this$0");
if (Intrinsics.areEqual(editText.getText().toString(), expectedPasscode)) {
isAuthenticated = true;
AlertDialog alertDialog = this$0.materialDialog;
if (alertDialog != null) {
alertDialog.dismiss();
}
Toast.makeText((Context) this$0, "Welcome!", 0).show();
return;
}
editText.setError("Incorrect passcode. Try again.");
}
private final void saveAsPdf(WebView web) {
Object systemService = getSystemService("print");
Intrinsics.checkNotNull(systemService, "null cannot be cast to non-null type android.print.PrintManager");
String str = new URL(web.getUrl()).getHost() + "_" + new SimpleDateFormat("HH:mm d_MMM_yy", Locale.ENGLISH).format(Calendar.getInstance().getTime());
PrintDocumentAdapter createPrintDocumentAdapter = web.createPrintDocumentAdapter(str);
Intrinsics.checkNotNullExpressionValue(createPrintDocumentAdapter, "createPrintDocumentAdapter(...)");
this.printJob = ((PrintManager) systemService).print(str, createPrintDocumentAdapter, new PrintAttributes.Builder().build());
}
private final void changeFullscreen(boolean enable) {
WindowInsetsController insetsController;
int systemBars;
WindowInsetsController insetsController2;
int systemBars2;
this.isFullscreen = enable;
if (!enable) {
if (Build.VERSION.SDK_INT >= 30) {
getWindow().setDecorFitsSystemWindows(true);
insetsController = getWindow().getInsetsController();
if (insetsController != null) {
systemBars = WindowInsets.Type.systemBars();
insetsController.show(systemBars);
return;
}
return;
}
WindowCompat.setDecorFitsSystemWindows(getWindow(), true);
new WindowInsetsControllerCompat(getWindow(), getBinding().getRoot()).show(WindowInsetsCompat.Type.systemBars());
return;
}
if (Build.VERSION.SDK_INT >= 30) {
getWindow().setDecorFitsSystemWindows(false);
insetsController2 = getWindow().getInsetsController();
if (insetsController2 != null) {
systemBars2 = WindowInsets.Type.systemBars();
insetsController2.hide(systemBars2);
insetsController2.setSystemBarsBehavior(2);
return;
}
return;
}
WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
WindowInsetsControllerCompat windowInsetsControllerCompat = new WindowInsetsControllerCompat(getWindow(), getBinding().getRoot());
windowInsetsControllerCompat.hide(WindowInsetsCompat.Type.systemBars());
windowInsetsControllerCompat.setSystemBarsBehavior(2);
}
public final int isBookmarked(String url) {
Intrinsics.checkNotNullParameter(url, "url");
int i = 0;
for (Object obj : bookmarkList) {
int i2 = i + 1;
if (i < 0) {
CollectionsKt.throwIndexOverflow();
}
if (Intrinsics.areEqual(((Bookmark) obj).getUrl(), url)) {
return i;
}
i = i2;
}
return -1;
}
public final void saveBookmarks() {
SharedPreferences.Editor edit = getSharedPreferences("BOOKMARKS", 0).edit();
edit.putString("bookmarkList", new GsonBuilder().create().toJson(bookmarkList));
edit.apply();
}
private final void getAllBookmarks() {
bookmarkList = new ArrayList<>();
String string = getSharedPreferences("BOOKMARKS", 0).getString("bookmarkList", null);
if (string != null) {
Object fromJson = new GsonBuilder().create().fromJson(string, new TypeToken<ArrayList<Bookmark>>() {
}.getType());
Intrinsics.checkNotNullExpressionValue(fromJson, "fromJson(...)");
bookmarkList.addAll((ArrayList) fromJson);
}
}
public final void switchToTab(int position) {
if (position < 0 || position >= tabList.size()) {
return;
}
getBinding().myPager.setCurrentItem(position);
}
}