Fix Update

This commit is contained in:
phanhuuloi27
2022-07-20 20:28:13 +07:00
parent 31ddee72a1
commit 524fc354de
4 changed files with 61 additions and 36 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ android {
minSdk 23 minSdk 23
targetSdk 30 targetSdk 30
versionCode 1 versionCode 1
versionName "97.0" versionName "97.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
@@ -1,6 +1,7 @@
package com.waterbase.foodify; package com.waterbase.foodify;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
@@ -69,6 +70,7 @@ import com.waterbase.foodify.Model.Category;
import com.waterbase.foodify.Model.Token; import com.waterbase.foodify.Model.Token;
import com.waterbase.foodify.ViewHolder.MenuViewHolder; import com.waterbase.foodify.ViewHolder.MenuViewHolder;
import java.io.File;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@@ -81,7 +83,6 @@ import io.paperdb.Paper;
public class Home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { public class Home extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private long backPressedTime; private long backPressedTime;
private static final int MY_PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 1001;
String versionNameApp = BuildConfig.VERSION_NAME; String versionNameApp = BuildConfig.VERSION_NAME;
@@ -181,14 +182,19 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
applyFontToMenuItem(mi); applyFontToMenuItem(mi);
} }
//Init database //Check Update
database = FirebaseDatabase.getInstance();
category = database.getReference("Category");
if (Double.parseDouble(versionNameApp) < Double.parseDouble(Common.versionAppNewest)) { if (Double.parseDouble(versionNameApp) < Double.parseDouble(Common.versionAppNewest)) {
alertDialogUpdate(); alertDialogUpdate();
} }
//Get size Cache
if(getSizeCache() > 50 && Double.parseDouble(versionNameApp) == Double.parseDouble(Common.versionAppNewest)){
deleteCache(this);
}
//Init database
database = FirebaseDatabase.getInstance();
category = database.getReference("Category");
FirebaseRecyclerOptions<Category> options = new FirebaseRecyclerOptions.Builder<Category>() FirebaseRecyclerOptions<Category> options = new FirebaseRecyclerOptions.Builder<Category>()
.setQuery(category, Category.class) .setQuery(category, Category.class)
@@ -249,6 +255,29 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
} }
}
private long getSizeCache() {
long size = 0;
size += getDirSize(this.getCacheDir());
size += getDirSize(this.getExternalCacheDir());
return (size/1024)/1024;
}
public long getDirSize(File dir){
long size = 0;
for (File file : dir.listFiles()) {
if (file != null && file.isDirectory()) {
size += getDirSize(file);
} else if (file != null && file.isFile()) {
size += file.length();
}
}
return size;
}
private void checkUpdate(){
} }
private void alertDialogUpdate() { private void alertDialogUpdate() {
@@ -261,7 +290,7 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
.apkSize("26.5") .apkSize("26.5")
.showNotification(false) .showNotification(false)
.showBgdToast(false) .showBgdToast(false)
.apkVersionName(Common.versionAppNewest + ".0 ") .apkVersionName(Common.versionAppNewest + " ")
.apkDescription(String.format(Common.changelog)) .apkDescription(String.format(Common.changelog))
.dialogProgressBarColor(0xFFFF5353) .dialogProgressBarColor(0xFFFF5353)
.jumpInstallPage(false) .jumpInstallPage(false)
@@ -285,7 +314,7 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
final Button btnClose = dialog.findViewById(R.id.btn_close); final Button btnClose = dialog.findViewById(R.id.btn_close);
dialogTitle.setText("Bạn đã cập nhật phiên bản mới nhất!"); dialogTitle.setText("Bạn đã cập nhật phiên bản mới nhất!");
dialogContent.setText("Phiên bản hiện tại: v" + Common.versionAppNewest + ".0!"); dialogContent.setText("Phiên bản hiện tại: v" + Common.versionAppNewest + "!");
btnClose.setOnClickListener(new View.OnClickListener() { btnClose.setOnClickListener(new View.OnClickListener() {
@Override @Override
@@ -681,4 +710,28 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
backPressedTime = System.currentTimeMillis(); backPressedTime = System.currentTimeMillis();
} }
private static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
deleteDir(dir);
} catch (Exception e) { e.printStackTrace();}
}
private static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
return dir.delete();
} else if(dir!= null && dir.isFile()) {
return dir.delete();
} else {
return false;
}
}
} }
@@ -52,9 +52,6 @@ public class Welcome extends AppCompatActivity {
//Init paper //Init paper
Paper.init(this); Paper.init(this);
deleteCache(this);
ApkUtil.Companion.deleteOldApk(this, "${externalCacheDir?.path}/app-debug.apk");
database = FirebaseDatabase.getInstance(); database = FirebaseDatabase.getInstance();
version = database.getReference("Version"); version = database.getReference("Version");
changelog = database.getReference("Changelog"); changelog = database.getReference("Changelog");
@@ -158,29 +155,4 @@ public class Welcome extends AppCompatActivity {
} }
} }
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
deleteDir(dir);
} catch (Exception e) { e.printStackTrace();}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
return dir.delete();
} else if(dir!= null && dir.isFile()) {
return dir.delete();
} else {
return false;
}
}
} }
BIN
View File
Binary file not shown.