导航菜单

页面标题

页面副标题

远离手机 v4.9.11 - StartActivityManager.java 源代码

正在查看: 远离手机 v4.9.11 应用的 StartActivityManager.java JAVA 源代码文件

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


package com.hjq.permissions;

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import com.lijianqiang12.silent.II1lll1lIlIl1;
import com.lijianqiang12.silent.IlI1111llI11I;

final class StartActivityManager {
    private static final String SUB_INTENT_KEY = "sub_intent_key";

    private interface IStartActivityDelegate {
        void startActivity(@IlI1111llI11I Intent intent);

        void startActivityForResult(@IlI1111llI11I Intent intent, int i);
    }

    private static class StartActivityDelegateActivityImpl implements IStartActivityDelegate {
        private final Activity mActivity;

        @Override
        public void startActivity(@IlI1111llI11I Intent intent) {
            this.mActivity.startActivity(intent);
        }

        @Override
        public void startActivityForResult(@IlI1111llI11I Intent intent, int i) {
            this.mActivity.startActivityForResult(intent, i);
        }

        private StartActivityDelegateActivityImpl(@IlI1111llI11I Activity activity) {
            this.mActivity = activity;
        }
    }

    private static class StartActivityDelegateContextImpl implements IStartActivityDelegate {
        private final Context mContext;

        @Override
        public void startActivity(@IlI1111llI11I Intent intent) {
            this.mContext.startActivity(intent);
        }

        @Override
        public void startActivityForResult(@IlI1111llI11I Intent intent, int i) {
            Activity findActivity = PermissionUtils.findActivity(this.mContext);
            if (findActivity != null) {
                findActivity.startActivityForResult(intent, i);
            } else {
                startActivity(intent);
            }
        }

        private StartActivityDelegateContextImpl(@IlI1111llI11I Context context) {
            this.mContext = context;
        }
    }

    private static class StartActivityDelegateFragmentImpl implements IStartActivityDelegate {
        private final Fragment mFragment;

        @Override
        public void startActivity(@IlI1111llI11I Intent intent) {
            this.mFragment.startActivity(intent);
        }

        @Override
        public void startActivityForResult(@IlI1111llI11I Intent intent, int i) {
            this.mFragment.startActivityForResult(intent, i);
        }

        private StartActivityDelegateFragmentImpl(@IlI1111llI11I Fragment fragment) {
            this.mFragment = fragment;
        }
    }

    private static class StartActivityDelegateSupportFragmentImpl implements IStartActivityDelegate {
        private final androidx.fragment.app.Fragment mFragment;

        @Override
        public void startActivity(@IlI1111llI11I Intent intent) {
            this.mFragment.startActivity(intent);
        }

        @Override
        public void startActivityForResult(@IlI1111llI11I Intent intent, int i) {
            this.mFragment.startActivityForResult(intent, i);
        }

        private StartActivityDelegateSupportFragmentImpl(@IlI1111llI11I androidx.fragment.app.Fragment fragment) {
            this.mFragment = fragment;
        }
    }

    StartActivityManager() {
    }

    static Intent addSubIntentToMainIntent(@II1lll1lIlIl1 Intent intent, @II1lll1lIlIl1 Intent intent2) {
        if (intent == null && intent2 != null) {
            return intent2;
        }
        if (intent2 == null) {
            return intent;
        }
        getDeepSubIntent(intent).putExtra(SUB_INTENT_KEY, intent2);
        return intent;
    }

    static Intent getDeepSubIntent(@IlI1111llI11I Intent intent) {
        Intent subIntentInMainIntent = getSubIntentInMainIntent(intent);
        return subIntentInMainIntent != null ? getDeepSubIntent(subIntentInMainIntent) : intent;
    }

    static Intent getSubIntentInMainIntent(@IlI1111llI11I Intent intent) {
        Object parcelableExtra;
        if (!AndroidVersion.isAndroid13()) {
            return (Intent) intent.getParcelableExtra(SUB_INTENT_KEY);
        }
        parcelableExtra = intent.getParcelableExtra(SUB_INTENT_KEY, Intent.class);
        return (Intent) parcelableExtra;
    }

    static boolean startActivity(@IlI1111llI11I Context context, Intent intent) {
        return startActivity(new StartActivityDelegateContextImpl(context), intent);
    }

    static boolean startActivityForResult(@IlI1111llI11I Activity activity, @IlI1111llI11I Intent intent, int i) {
        return startActivityForResult(new StartActivityDelegateActivityImpl(activity), intent, i);
    }

    static boolean startActivity(@IlI1111llI11I Activity activity, Intent intent) {
        return startActivity(new StartActivityDelegateActivityImpl(activity), intent);
    }

    static boolean startActivityForResult(@IlI1111llI11I Fragment fragment, @IlI1111llI11I Intent intent, int i) {
        return startActivityForResult(new StartActivityDelegateFragmentImpl(fragment), intent, i);
    }

    static boolean startActivity(@IlI1111llI11I Fragment fragment, Intent intent) {
        return startActivity(new StartActivityDelegateFragmentImpl(fragment), intent);
    }

    static boolean startActivityForResult(@IlI1111llI11I androidx.fragment.app.Fragment fragment, @IlI1111llI11I Intent intent, int i) {
        return startActivityForResult(new StartActivityDelegateSupportFragmentImpl(fragment), intent, i);
    }

    static boolean startActivity(@IlI1111llI11I androidx.fragment.app.Fragment fragment, Intent intent) {
        return startActivity(new StartActivityDelegateSupportFragmentImpl(fragment), intent);
    }

    static boolean startActivityForResult(@IlI1111llI11I IStartActivityDelegate iStartActivityDelegate, @IlI1111llI11I Intent intent, int i) {
        try {
            iStartActivityDelegate.startActivityForResult(intent, i);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            Intent subIntentInMainIntent = getSubIntentInMainIntent(intent);
            if (subIntentInMainIntent == null) {
                return false;
            }
            return startActivityForResult(iStartActivityDelegate, subIntentInMainIntent, i);
        }
    }

    static boolean startActivity(@IlI1111llI11I IStartActivityDelegate iStartActivityDelegate, @IlI1111llI11I Intent intent) {
        try {
            iStartActivityDelegate.startActivity(intent);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            Intent subIntentInMainIntent = getSubIntentInMainIntent(intent);
            if (subIntentInMainIntent == null) {
                return false;
            }
            return startActivity(iStartActivityDelegate, subIntentInMainIntent);
        }
    }
}