导航菜单

页面标题

页面副标题

xDrip+ v04633772025.07.16 - NumberWallPreview.java 源代码

正在查看: xDrip+ v04633772025.07.16 应用的 NumberWallPreview.java JAVA 源代码文件

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


package com.eveningoutpost.dexdrip.ui.activities;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.eveningoutpost.dexdrip.BestGlucose;
import com.eveningoutpost.dexdrip.adapters.ObservableBackground;
import com.eveningoutpost.dexdrip.databinding.ActivityNumberWallPreviewBinding;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.ui.LockScreenWallPaper;
import com.eveningoutpost.dexdrip.ui.NumberGraphic;
import com.eveningoutpost.dexdrip.ui.dialog.ColorPreferenceDialog;
import com.eveningoutpost.dexdrip.ui.helpers.BitmapUtil;
import com.eveningoutpost.dexdrip.utilitymodels.ColorCache;
import com.eveningoutpost.dexdrip.utilitymodels.Inevitable;
import com.eveningoutpost.dexdrip.utilitymodels.Pref;
import com.eveningoutpost.dexdrip.utilitymodels.PrefsViewImpl;
import com.eveningoutpost.dexdrip.utilitymodels.PrefsViewString;
import com.eveningoutpost.dexdrip.utilitymodels.Unitized;
import com.eveningoutpost.dexdrip.utils.FileUtils;
import com.eveningoutpost.dexdrip.utils.SdcardImportExport;
import java.io.File;

public class NumberWallPreview extends AppCompatActivity {
    private ActivityNumberWallPreviewBinding binding;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        ActivityNumberWallPreviewBinding inflate = ActivityNumberWallPreviewBinding.inflate(getLayoutInflater());
        this.binding = inflate;
        inflate.setPrefs(new PrefsViewImpl().setRefresh(new Runnable() {
            @Override
            public final void run() {
                NumberWallPreview.this.lambda$onCreate$0();
            }
        }));
        this.binding.setVm(new ViewModel(this));
        ActivityNumberWallPreviewBinding activityNumberWallPreviewBinding = this.binding;
        activityNumberWallPreviewBinding.setSprefs(new PrefsViewStringSnapDefaultsRefresh(activityNumberWallPreviewBinding.getVm()));
        setContentView(this.binding.getRoot());
        JoH.fixActionBar(this);
    }

    public void lambda$onCreate$0() {
        try {
            this.binding.getVm().refreshBitmap();
        } catch (NullPointerException unused) {
        }
    }

    @Override
    protected void onActivityResult(int i, int i2, Intent intent) {
        Uri data;
        super.onActivityResult(i, i2, intent);
        if (i != 35021 || i2 != -1 || intent == null || (data = intent.getData()) == null) {
            return;
        }
        this.binding.getSprefs().put("numberwall_background", BitmapUtil.copyBackgroundImage(data, new File(getFilesDir().getAbsolutePath() + File.separator + "numberWall")));
        this.binding.getVm().refreshBitmap();
    }

    @Override
    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
        super.onRequestPermissionsResult(i, strArr, iArr);
        if (i == 35020) {
            if (iArr.length > 0 && iArr[0] == 0) {
                this.binding.getVm().folderImageButtonClick();
            } else {
                JoH.static_toast_long(this, "Cannot choose file without storage permission");
            }
        }
    }

    public class ViewModel {
        private final Activity activity;
        public ObservableBackground background = new ObservableBackground();

        public ViewModel(Activity activity) {
            refreshBitmap();
            this.activity = activity;
        }

        public void folderImageButtonClick() {
            if (Pref.getString("numberwall_background", null) != null) {
                NumberWallPreview.this.binding.getSprefs().put("numberwall_background", (String) null);
                FileUtils.deleteDirWithFiles(new File(this.activity.getFilesDir().getAbsolutePath() + File.separator + "numberWall"));
                refreshBitmap();
                return;
            }
            if (SdcardImportExport.checkPermissions(this.activity, true, 35020)) {
                Intent intent = new Intent("android.intent.action.OPEN_DOCUMENT");
                intent.addCategory("android.intent.category.OPENABLE");
                intent.setType("image/*");
                NumberWallPreview.this.startActivityForResult(intent, 35021);
                return;
            }
            JoH.ratelimit("need-file-permission", 10);
        }

        public void paletteImageButtonClick() {
            ColorPreferenceDialog.pick(NumberWallPreview.this, ColorCache.X.color_number_wall.getInternalName(), "Text Color", new NumberWallPreview$ViewModel$$ExternalSyntheticLambda0(this));
        }

        public boolean paletteImageButtonLongClick(View view) {
            ColorPreferenceDialog.pick(NumberWallPreview.this, ColorCache.X.color_number_wall_shadow.getInternalName(), "Shadow Color", new NumberWallPreview$ViewModel$$ExternalSyntheticLambda0(this));
            return false;
        }

        public void refreshBitmap() {
            BestGlucose.DisplayGlucose displayGlucose = new BestGlucose.DisplayGlucose();
            displayGlucose.delta_arrow = "⇅";
            String str = Unitized.usingMgDl() ? "123" : "12.3";
            displayGlucose.unitized = str;
            this.background.setBitmap(BitmapUtil.getTiled(NumberGraphic.getLockScreenBitmap(str, displayGlucose.delta_arrow, false), BitmapUtil.getScreenWidth(), BitmapUtil.getScreenHeight(), NumberGraphic.isLockScreenBitmapTiled(), Pref.getString("numberwall_background", null)));
            Inevitable.task("refresh-lock-number-wall", 500L, new Runnable() {
                @Override
                public final void run() {
                    LockScreenWallPaper.setIfEnabled();
                }
            });
        }
    }

    public class PrefsViewStringSnapDefaultsRefresh extends PrefsViewString {
        private final ViewModel model;

        public PrefsViewStringSnapDefaultsRefresh(ViewModel viewModel) {
            this.model = viewModel;
        }

        @Override
        public java.lang.String get(java.lang.Object r7) {
            throw new UnsupportedOperationException("Method not decompiled: com.eveningoutpost.dexdrip.ui.activities.NumberWallPreview.PrefsViewStringSnapDefaultsRefresh.get(java.lang.Object):java.lang.String");
        }

        @Override
        public String put(String str, String str2) {
            super.put(str, str2);
            this.model.refreshBitmap();
            return str2;
        }
    }
}