导航菜单

页面标题

页面副标题

Clean Center v0.5.5 - FixNotificationService.java 源代码

正在查看: Clean Center v0.5.5 应用的 FixNotificationService.java JAVA 源代码文件

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


package com.pdf.reader.fileviewer.notification;

import android.app.Application;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.widget.RemoteViews;
import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.os.BundleKt;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProvider;
import com.blankj.utilcode.util.NotificationUtils;
import com.pdf.reader.fileviewer.App;
import com.pdf.reader.fileviewer.Constants;
import com.pdf.reader.fileviewer.R;
import com.pdf.reader.fileviewer.ad.AdUtils;
import com.pdf.reader.fileviewer.modul.Document;
import com.pdf.reader.fileviewer.ui.activity.SplashActivity;
import com.pdf.reader.fileviewer.utils.EventUtils;
import com.pdf.reader.fileviewer.viewmodel.DocumentViewModel;
import com.wxiwei.office.constant.MainConstant;
import com.yandex.div.core.dagger.Names;
import java.util.List;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.CoroutineStart;
import kotlinx.coroutines.Dispatchers;
import kotlinx.coroutines.GlobalScope;

@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0002\u0018\u0000 \u00152\u00020\u0001:\u0001\u0015B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\b\u0010\u0006\u001a\u00020\u0007H\u0016J\u0014\u0010\b\u001a\u0004\u0018\u00010\t2\b\u0010\n\u001a\u0004\u0018\u00010\u000bH\u0016J\"\u0010\f\u001a\u00020\r2\b\u0010\u000e\u001a\u0004\u0018\u00010\u000b2\u0006\u0010\u000f\u001a\u00020\r2\u0006\u0010\u0010\u001a\u00020\rH\u0016J\b\u0010\u0011\u001a\u00020\u0007H\u0002J\u0010\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0014H\u0002R\u0010\u0010\u0004\u001a\u0004\u0018\u00010\u0005X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0016"}, d2 = {"Lcom/pdf/reader/fileviewer/notification/FixNotificationService;", "Landroid/app/Service;", "<init>", "()V", "model", "Lcom/pdf/reader/fileviewer/viewmodel/DocumentViewModel;", "onCreate", "", "onBind", "Landroid/os/IBinder;", "p0", "Landroid/content/Intent;", "onStartCommand", "", "intent", "flags", "startId", "createNotificationChannel", "setRemoteView", "remoteViews", "Landroid/widget/RemoteViews;", "Companion", "com.pdf.reader.fileviewer-55_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class FixNotificationService extends Service {

    public static final Companion INSTANCE = new Companion(null);
    private static boolean start;
    private DocumentViewModel model;

    @Override
    public IBinder onBind(Intent p0) {
        return null;
    }

    @Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u000e\u0010\u0004\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fR\u001a\u0010\u0004\u001a\u00020\u0005X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0006\u0010\u0007\"\u0004\b\b\u0010\t¨\u0006\r"}, d2 = {"Lcom/pdf/reader/fileviewer/notification/FixNotificationService$Companion;", "", "<init>", "()V", "start", "", "getStart", "()Z", "setStart", "(Z)V", "", Names.CONTEXT, "Landroid/content/Context;", "com.pdf.reader.fileviewer-55_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final boolean getStart() {
            return FixNotificationService.start;
        }

        public final void setStart(boolean z) {
            FixNotificationService.start = z;
        }

        public final void start(Context context) {
            Intrinsics.checkNotNullParameter(context, Names.CONTEXT);
            if (getStart()) {
                return;
            }
            if (Build.VERSION.SDK_INT >= 33) {
                if (ActivityCompat.checkSelfPermission(context, "android.permission.POST_NOTIFICATIONS") != 0) {
                    return;
                }
            } else if (!NotificationManagerCompat.from(context).areNotificationsEnabled()) {
                return;
            }
            try {
                if (Build.VERSION.SDK_INT >= 26) {
                    context.startForegroundService(new Intent(context, (Class<?>) FixNotificationService.class));
                } else {
                    context.startService(new Intent(context, (Class<?>) FixNotificationService.class));
                }
                setStart(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public void onCreate() {
        LiveData<List<Document>> allUi;
        super.onCreate();
        Context applicationContext = getApplicationContext();
        Intrinsics.checkNotNull(applicationContext, "null cannot be cast to non-null type com.pdf.reader.fileviewer.App");
        ViewModelProvider.AndroidViewModelFactory.Companion companion = ViewModelProvider.AndroidViewModelFactory.Companion;
        Application application = getApplication();
        Intrinsics.checkNotNullExpressionValue(application, "getApplication(...)");
        this.model = new ViewModelProvider((App) applicationContext, companion.getInstance(application)).get(DocumentViewModel.class);
        try {
            createNotificationChannel();
        } catch (Exception e) {
            e.printStackTrace();
        }
        new FileChangeObserver(new Handler(), App.INSTANCE.getInstance().getContentResolver()).startListening();
        DocumentViewModel documentViewModel = this.model;
        if (documentViewModel == null || (allUi = documentViewModel.getAllUi()) == null) {
            return;
        }
        allUi.observeForever(new FixNotificationService$sam$androidx_lifecycle_Observer$0(new Function1() {
            public final Object invoke(Object obj) {
                Unit onCreate$lambda$0;
                onCreate$lambda$0 = FixNotificationService.onCreate$lambda$0(FixNotificationService.this, (List) obj);
                return onCreate$lambda$0;
            }
        }));
    }

    public static final Unit onCreate$lambda$0(FixNotificationService fixNotificationService, List list) {
        try {
            fixNotificationService.createNotificationChannel();
            if (list.size() != 6) {
                BuildersKt.launch$default(GlobalScope.INSTANCE, Dispatchers.getIO(), (CoroutineStart) null, new FixNotificationService$onCreate$1$1(list, null), 2, (Object) null);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Unit.INSTANCE;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        try {
            createNotificationChannel();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return super.onStartCommand(intent, flags, startId);
    }

    private final void createNotificationChannel() {
        Notification.Builder builder = new Notification.Builder(getApplicationContext());
        FixNotificationService fixNotificationService = this;
        Intent intent = new Intent(fixNotificationService, (Class<?>) SplashActivity.class);
        RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.layout_notification_fix);
        remoteViews.setViewVisibility(R.id.tv_2, 8);
        remoteViews.setViewVisibility(R.id.tv_3, 8);
        setRemoteView(remoteViews);
        RemoteViews remoteViews2 = new RemoteViews(getPackageName(), R.layout.layout_notification_fix);
        setRemoteView(remoteViews2);
        remoteViews2.setViewVisibility(R.id.tv_2, 0);
        remoteViews2.setViewVisibility(R.id.tv_3, 0);
        remoteViews2.setTextViewText(R.id.tv_2, getString(R.string.document));
        remoteViews2.setTextViewText(R.id.tv_3, getString(R.string.scan));
        builder.setContentIntent(PendingIntent.getActivity(fixNotificationService, 0, intent, 67108864)).setSmallIcon(R.mipmap.ic_notification).setContentText(String.valueOf(getString(R.string.app_name))).setWhen(System.currentTimeMillis()).setCustomContentView(remoteViews).setCustomBigContentView(remoteViews2).setStyle(new Notification.DecoratedCustomViewStyle()).setOngoing(true);
        if (Build.VERSION.SDK_INT >= 26) {
            builder.setChannelId("notification_id");
        }
        if (Build.VERSION.SDK_INT >= 26) {
            Object systemService = getSystemService("notification");
            Intrinsics.checkNotNull(systemService, "null cannot be cast to non-null type android.app.NotificationManager");
            NotificationChannel notificationChannel = new NotificationChannel("notification_id", getString(R.string.app_name), 3);
            notificationChannel.setSound(null, null);
            notificationChannel.enableVibration(false);
            notificationChannel.enableLights(true);
            notificationChannel.setLightColor(-65536);
            notificationChannel.setShowBadge(false);
            ((NotificationManager) systemService).createNotificationChannel(notificationChannel);
        }
        Notification build = builder.build();
        Intrinsics.checkNotNullExpressionValue(build, "build(...)");
        startForeground(110, build);
        EventUtils.INSTANCE.log("stickyNotiView", BundleKt.bundleOf());
        if (NotificationUtils.areNotificationsEnabled()) {
            EventUtils.INSTANCE.log(Constants.notiSuccess, BundleKt.bundleOf());
        }
    }

    private final void setRemoteView(RemoteViews remoteViews) {
        int i = R.id.lly_1;
        FixNotificationService fixNotificationService = this;
        Intent intent = new Intent(fixNotificationService, (Class<?>) SplashActivity.class);
        intent.putExtra("from_source", "notification");
        intent.putExtra("type", MainConstant.FILE_TYPE_PDF);
        Unit unit = Unit.INSTANCE;
        remoteViews.setOnClickPendingIntent(i, PendingIntent.getActivity(fixNotificationService, 1100, intent, 167772160));
        int i2 = R.id.lly_2;
        Intent intent2 = new Intent(fixNotificationService, (Class<?>) SplashActivity.class);
        intent2.putExtra("from_source", "notification");
        intent2.putExtra("type", MainConstant.FILE_TYPE_PDF);
        Unit unit2 = Unit.INSTANCE;
        remoteViews.setOnClickPendingIntent(i2, PendingIntent.getActivity(fixNotificationService, 1200, intent2, 167772160));
        int i3 = R.id.lly_3;
        Intent intent3 = new Intent(fixNotificationService, (Class<?>) SplashActivity.class);
        intent3.putExtra("from_source", "notification");
        intent3.putExtra("type", AdUtils.scan);
        Unit unit3 = Unit.INSTANCE;
        remoteViews.setOnClickPendingIntent(i3, PendingIntent.getActivity(fixNotificationService, 1300, intent3, 167772160));
    }
}