正在查看: xDrip+ v04633772025.07.16 应用的 NumberWallPreview.java JAVA 源代码文件
本页面展示 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;
}
}
}