导航菜单

页面标题

页面副标题

CallApp v2.226 - CallAppShortcutManager.java 源代码

正在查看: CallApp v2.226 应用的 CallAppShortcutManager.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.callapp.contacts.manager;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentSender;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.Bitmap;
import android.graphics.drawable.Icon;
import android.os.Build;
import com.callapp.contacts.CallAppApplication;
import com.callapp.contacts.R;
import com.callapp.contacts.activity.contact.details.ContactDetailsActivity;
import com.callapp.contacts.activity.marketplace.planPage.CallAppPlanPageActivity;
import com.callapp.contacts.manager.inAppBilling.CallAppBillingManager;
import com.callapp.contacts.manager.popup.ActivityResult;
import com.callapp.contacts.manager.preferences.Prefs;
import com.callapp.contacts.manager.task.Task;
import com.callapp.contacts.model.contact.ContactData;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.CLog;
import com.callapp.contacts.util.callappRomHelper.romHelper.base.detector.RomDetector;
import com.callapp.contacts.util.callappRomHelper.romHelper.miui.MIUIHelper;
import com.callapp.contacts.util.glide.GlideUtils;
import com.callapp.framework.util.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Random;
import k0.d;

public class CallAppShortcutManager {

    class AnonymousClass4 implements Runnable {
        public final ShortcutManager a;
        public final int b;
        public final Context c;
        public final ShortcutInfo d;
        public final PendingIntent e;

        public AnonymousClass4(ShortcutManager shortcutManager, int i, Context context, ShortcutInfo shortcutInfo, PendingIntent pendingIntent) {
            this.a = shortcutManager;
            this.b = i;
            this.c = context;
            this.d = shortcutInfo;
            this.e = pendingIntent;
        }

        @Override
        public final void run() {
            if (CallAppShortcutManager.e(this.a) == this.b) {
                FeedbackManager.get().d(null, Activities.getString(R.string.miui_shortcut_permission_request));
                Context context = this.c;
                Activities.H(context, MIUIHelper.c(context), new ActivityResult() {
                    @Override
                    public final void h(Activity activity, int i, int i2, Intent intent) {
                        AnonymousClass4 anonymousClass4 = AnonymousClass4.this;
                        anonymousClass4.a.requestPinShortcut(anonymousClass4.d, anonymousClass4.e.getIntentSender());
                        CallAppApplication.get().postRunnableDelayed(new Runnable() {
                            @Override
                            public final void run() {
                                AnonymousClass4 anonymousClass42 = AnonymousClass4.this;
                                if (anonymousClass42.b != CallAppShortcutManager.e(anonymousClass42.a)) {
                                    Prefs.g0.set(Boolean.TRUE);
                                } else {
                                    FeedbackManager.get().d(null, Activities.getString(R.string.permission_is_needed_shortcuts));
                                }
                            }
                        }, 1000L);
                    }
                }, null);
            }
        }
    }

    public static void a(Context context, Intent intent, String str, String str2, String str3, int i, String str4) {
        try {
            ShortcutManager shortcutManager = (ShortcutManager) context.getSystemService(ShortcutManager.class);
            if (shortcutManager != null && shortcutManager.isRequestPinShortcutSupported()) {
                b(shortcutManager, str, context, intent, str2, str3, i, str4);
                return;
            }
            FeedbackManager.get().d(null, "Could not create ShotCut");
            CLog.l("CallAppShortcutManager", "Could not get ShortcutManager Service. service = " + shortcutManager, new Object[0]);
            Prefs.g0.set(Boolean.FALSE);
        } catch (Throwable th) {
            CLog.m("CallAppShortcutManager", th);
            Prefs.g0.set(Boolean.FALSE);
        }
    }

    public static void b(final ShortcutManager shortcutManager, String str, final Context context, Intent intent, final String str2, String str3, final int i, final String str4) {
        if (str == null) {
            str = new Random().nextInt(1000) + "";
        }
        final ShortcutInfo.Builder builder = new ShortcutInfo.Builder(context, str);
        builder.setShortLabel(str2).setLongLabel(str3).setIntent(intent).build();
        new Task() {
            @Override
            public final void doTask() {
                int i2 = i;
                String str5 = str4;
                Context context2 = context;
                ShortcutInfo.Builder builder2 = builder;
                try {
                    if (StringUtils.t(str5)) {
                        builder2.setIcon(Icon.createWithResource(context2, i2));
                    } else {
                        Object obj = GlideUtils.a;
                        GlideUtils.GlideRequestBuilder glideRequestBuilder = new GlideUtils.GlideRequestBuilder(str5);
                        glideRequestBuilder.f = CallAppApplication.get();
                        builder2.setIcon(Icon.createWithBitmap((Bitmap) glideRequestBuilder.getTargetBitmap().get()));
                    }
                } catch (Throwable th) {
                    CLog.m("Task", th);
                    builder2.setIcon(Icon.createWithResource(context2, i2));
                }
                ShortcutInfo build = builder2.build();
                Intent intent2 = new Intent("general.intent.action.SHORTCUT_ADDED");
                intent2.putExtra("shortcut_name", str2);
                intent2.setPackage(context2.getPackageName());
                PendingIntent broadcast = PendingIntent.getBroadcast(context2, 100, intent2, 67108864);
                IntentSender intentSender = broadcast.getIntentSender();
                ShortcutManager shortcutManager2 = shortcutManager;
                boolean requestPinShortcut = shortcutManager2.requestPinShortcut(build, intentSender);
                BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
                    @Override
                    public final void onReceive(Context context3, Intent intent3) {
                        if (StringUtils.m(intent3.getAction(), "general.intent.action.SHORTCUT_ADDED")) {
                            Prefs.g0.set(Boolean.TRUE);
                        }
                        CallAppApplication.get().unregisterReceiver(this);
                    }
                };
                IntentFilter intentFilter = new IntentFilter("general.intent.action.SHORTCUT_ADDED");
                if (Build.VERSION.SDK_INT >= 33) {
                    CallAppApplication.get().registerReceiver(broadcastReceiver, intentFilter, 2);
                } else {
                    CallAppApplication.get().registerReceiver(broadcastReceiver, intentFilter);
                }
                if (!requestPinShortcut) {
                    Prefs.g0.set(Boolean.FALSE);
                }
                if (RomDetector.isMIUI()) {
                    CallAppApplication.get().postRunnableDelayed(new AnonymousClass4(shortcutManager2, CallAppShortcutManager.e(shortcutManager2), context2, build, broadcast), 1000L);
                }
            }
        }.execute();
    }

    public static boolean c() {
        ArrayList a;
        try {
            ?? r1 = CallAppApplication.get();
            if (!((ShortcutManager) r1.getSystemService(ShortcutManager.class)).isRequestPinShortcutSupported()) {
                return false;
            }
            if (Build.VERSION.SDK_INT >= 30) {
                a = d.a(io.bidmachine.media3.exoplayer.source.chunk.a.k((ShortcutManager) r1.getSystemService(ShortcutManager.class)), (CallAppApplication) r1);
            } else {
                ShortcutManager shortcutManager = (ShortcutManager) r1.getSystemService(ShortcutManager.class);
                ArrayList arrayList = new ArrayList();
                arrayList.addAll(shortcutManager.getPinnedShortcuts());
                a = d.a(arrayList, (CallAppApplication) r1);
            }
            Iterator it = a.iterator();
            while (it.hasNext()) {
                if (((d) it.next()).b.equals(r1.getPackageName())) {
                    Prefs.g0.set(Boolean.TRUE);
                    return true;
                }
            }
            return false;
        } catch (Exception unused) {
            Prefs.g0.set(Boolean.FALSE);
            return false;
        }
    }

    public static Intent d(Context context, ContactData contactData) {
        Intent createIntent = ContactDetailsActivity.createIntent(context, contactData.getDeviceId(), contactData.getPhone().getRawNumber());
        createIntent.putExtra(ContactDetailsActivity.EXTRA_FORCE_SHOW_CORRECTED_INFO_PRESENTER, contactData.getDeviceId() == 0);
        createIntent.putExtra(ContactDetailsActivity.EXTRA_FORCE_SHOW_IS_SPAM_PRESENTER, contactData.getDeviceId() == 0);
        createIntent.setAction("android.intent.action.MAIN");
        return createIntent;
    }

    public static int e(ShortcutManager shortcutManager) {
        return Build.VERSION.SDK_INT >= 30 ? io.bidmachine.media3.exoplayer.source.chunk.a.k(shortcutManager).size() : shortcutManager.getPinnedShortcuts().size();
    }

    public static void f() {
        if (Prefs.f1.get().booleanValue()) {
            CallAppApplication.get().runOnBackgroundThread(new Task() {
                @Override
                public final void doTask() {
                    ShortcutManager shortcutManager = (ShortcutManager) CallAppApplication.get().getSystemService(ShortcutManager.class);
                    if (shortcutManager == null || !CallAppBillingManager.isBillingAvailable()) {
                        return;
                    }
                    ShortcutInfo build = new ShortcutInfo.Builder(CallAppApplication.get(), "premium").setShortLabel(Activities.getString(R.string.premium)).setLongLabel(Activities.getString(R.string.premium)).setIcon(Icon.createWithResource((Context) CallAppApplication.get(), R.mipmap.ic_premium_launcher)).setIntent(CallAppPlanPageActivity.getIntent(CallAppApplication.get(), "dynamicShortcut").setAction("android.intent.action.VIEW")).build();
                    ArrayList arrayList = new ArrayList();
                    if (!Prefs.S2.get().booleanValue()) {
                        arrayList.add(build);
                    }
                    try {
                        if (shortcutManager.getMaxShortcutCountPerActivity() >= shortcutManager.getManifestShortcuts().size() + arrayList.size()) {
                            shortcutManager.setDynamicShortcuts(arrayList);
                        }
                    } catch (Exception e) {
                        CLog.c("Failed to create dynamic shortcut", e);
                    }
                }
            });
        }
    }

    public static boolean g(Context context, String str) {
        boolean z = false;
        if (str == null) {
            return false;
        }
        Iterator<ShortcutInfo> it = ((ShortcutManager) context.getSystemService(ShortcutManager.class)).getPinnedShortcuts().iterator();
        while (it.hasNext()) {
            if (it.next().getId().equals(str)) {
                z = true;
            }
        }
        return z;
    }

    public static void h(String str, Context context, String str2, String str3, Intent intent, final String str4) {
        final ShortcutManager shortcutManager = (ShortcutManager) context.getSystemService(ShortcutManager.class);
        final ShortcutInfo.Builder builder = new ShortcutInfo.Builder(context, str);
        builder.setShortLabel(str2).setLongLabel(str3).setIntent(intent).build();
        if (str4 != null) {
            new Task() {
                @Override
                public final void doTask() {
                    ShortcutInfo.Builder builder2 = builder;
                    try {
                        String str5 = str4;
                        Object obj = GlideUtils.a;
                        GlideUtils.GlideRequestBuilder glideRequestBuilder = new GlideUtils.GlideRequestBuilder(str5);
                        glideRequestBuilder.f = CallAppApplication.get();
                        builder2.setIcon(Icon.createWithBitmap((Bitmap) glideRequestBuilder.getTargetBitmap().get()));
                    } catch (Throwable th) {
                        CLog.m("Task", th);
                    }
                    try {
                        shortcutManager.updateShortcuts(Collections.singletonList(builder2.build()));
                    } catch (Exception e) {
                        CLog.m("Task", e);
                    }
                }
            }.execute();
        } else {
            builder.setIcon(Icon.createWithResource(context, R.drawable.profile_pic_default));
            shortcutManager.updateShortcuts(Collections.singletonList(builder.build()));
        }
    }
}