Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Commit

Permalink
corregido carga de imagenes en Android 10
Browse files Browse the repository at this point in the history
  • Loading branch information
esalessandrxx committed Oct 6, 2023
2 parents 96506bb + eeef448 commit 2dca355
Show file tree
Hide file tree
Showing 33 changed files with 675 additions and 629 deletions.
5 changes: 2 additions & 3 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ android {
applicationId = "com.arr.simple"
minSdk = 23
targetSdk = 33
versionCode = 40
versionName = "4.0.0"
versionCode = 41
versionName = "4.0.1"

vectorDrawables {
useSupportLibrary = true
Expand Down Expand Up @@ -69,7 +69,6 @@ dependencies {
implementation("com.github.applifycu:nautaclear:1.0.0")
implementation("com.github.applifycu:didi-library:1.0.2-alpha3")

implementation("com.github.Drjacky:ImagePicker:2.3.22")
implementation("de.hdodenhof:circleimageview:3.1.0")
implementation(project(":preference"))
implementation(project(":fingerprint"))
Expand Down
25 changes: 16 additions & 9 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Expand Down Expand Up @@ -38,8 +44,9 @@
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<receiver
android:name=".widget.BalancesWidget"
android:name=".widget.WidgetBalances"
android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
Expand All @@ -56,21 +63,21 @@
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</receiver>

<receiver
android:name="com.arr.simple.broadcast.NotificationBalances"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_PREFERENCE_CHANGED" />
<data
<action android:name="android.intent.action.ACTION_PREFERENCE_CHANGED" />
<data
android:path="com.arr.simple"
android:scheme="package" />
</intent-filter>
</receiver>
</receiver>

<service
android:name="com.arr.simple.services.TrafficFloatingWindow" />
android:name="com.arr.simple.services.TrafficFloatingWindow" />

<activity
android:name=".activity.WelcomeActivity"
Expand All @@ -80,7 +87,7 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</activity>

<activity
android:name=".MainActivity"
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/arr/simple/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ protected void onCreate(Bundle savedInstanceState) {
navController.navigate(id, null);
}
if (id == R.id.nav_telepuntos) {
openGoogleMap();
// startActivity(new Intent(this, Test.class));
openGoogleMap();
// startActivity(new Intent(this, Test.class));
}
if (id == R.id.nav_settings) {
navController.navigate(id, null);
Expand Down
7 changes: 6 additions & 1 deletion app/src/main/java/com/arr/simple/adapter/ViewAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
Expand Down Expand Up @@ -52,7 +53,11 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
VGrid grid = (VGrid) holder;
grid.binding.title.setText(gridModel.getTitle());
grid.binding.subtitle.setText(gridModel.getSubtitle());
// grid.binding.icon.setImageResource(gridModel.getIcon());
if(gridModel.getIcon() == 0){
grid.binding.icon.setVisibility(View.GONE);
}else{
grid.binding.icon.setImageResource(gridModel.getIcon());
}

// TODO: onClick item position
grid.binding.card.setOnClickListener(v -> onItemClickListener.onItemClick(position));
Expand Down
58 changes: 32 additions & 26 deletions app/src/main/java/com/arr/simple/broadcast/BalancesBroadcast.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.widget.RemoteViews;

import androidx.annotation.RequiresApi;
Expand Down Expand Up @@ -44,65 +45,70 @@ public class BalancesBroadcast extends BroadcastReceiver {

private static final String CHANNEL_ID = "Balances";
private static final String CHANNEL = "Update balances";

@Override
public void onReceive(Context context, Intent intent) {

// import ussdUtils
ussd = new UssdUtils(context);
response = new ResponseUssd(ussd);
Handler handler = new Handler(Looper.getMainLooper());
executeUssdRequest(context, intent, handler, 0);

handler.postDelayed(()->{
updateWidget(context, intent);
}, 5000);

// TODO: SharedPreferences
spBalance = PreferenceManager.getDefaultSharedPreferences(context);
editor = spBalance.edit();
SIM = spBalance.getString("sim", "0");
}

private void updateWidget(Context mContext, Intent mIntent) {
Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.post(
() -> {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(mContext);
int[] appWidgetIds = mIntent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
int[] appWidgetIds = mIntent.getIntArrayExtra(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
if (appWidgetIds != null) {
for (int appWidgetId : appWidgetIds) {
// Actualizar la vista del saldo del paquete
RemoteViews views =
new RemoteViews(mContext.getPackageName(), R.layout.balances_widget);
RemoteViews views = new RemoteViews(mContext.getPackageName(), R.layout.balances_widget);

// actualiza vistas
views.setTextViewText(R.id.appwidget_text_paquete, response.getDataAll());
views.setTextViewText(
R.id.appwidget_text_lte, response.getLTE().replace(" LTE", ""));
views.setTextViewText(R.id.appwidget_text_lte, response.getLTE().replace(" LTE", ""));
views.setTextViewText(R.id.appwidget_text_vence, response.getVenceData());
views.setTextViewText(R.id.appwidget_text_minutos, response.getMinutos());
views.setTextViewText(R.id.appwidget_text_sms, response.getMensajes());
views.setTextViewText(
R.id.time_update,
spBalance
.getString("actualizado", "sin actualizar")
.replace("Última actualización: ", "").toString());

// actualizado
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mContext);
String time = sp.getString("actualizado", "sin actualizar").replace("Actualizado:\n", "");
views.setTextViewText(R.id.time_update, time);

appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
});
}

private void executeUssdRequest(Context context, Intent intent, Handler handler, int index) {
if (index >= ussdCodes.length) {
// update widget
// actualizar tiempo
updateTime(context);
updateWidget(context, intent);
updateTime();


// mostrar u ocultar notificación de balances actualizados
if (!spBalance.getBoolean("not_update_balances", false)) {
notificationUpdate(
context,
context.getString(R.string.title_balances),
"¡Se ha actualizado sus balances!");
boolean isShow = spBalance.getBoolean("not_update_balances", false);
if (isShow) {
notificationUpdate(context, context.getString(R.string.title_balances), context.getString(R.string.update_balances));
}

// actualizar notificacipn de balances
if (!spBalance.getBoolean("balance_notif", false)) {
Intent broadcast = new Intent(context, NotificationBalances.class);
boolean viewBalances = spBalance.getBoolean("balance_notif", false);
if(viewBalances){
Intent broadcast = new Intent(context, NotificationBalances.class);
context.sendBroadcast(broadcast);
}
return;
Expand Down Expand Up @@ -154,12 +160,12 @@ private void notificationUpdate(Context context, String title, String message) {
}

// actualizar la hora de actualización de balances
private void updateTime() {
private void updateTime(Context mContext) {
Calendar calendar = Calendar.getInstance();
Date dat = calendar.getTime();
SimpleDateFormat datFormat = new SimpleDateFormat("hh:mm a", Locale.getDefault());
String hActual = datFormat.format(dat);
editor.putString("actualizado", "Última actualización: " + hActual.toString());
editor.putString("actualizado",mContext.getString(R.string.update) + hActual.toString());
editor.apply();
}
}
13 changes: 9 additions & 4 deletions app/src/main/java/com/arr/simple/log/CrashActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ public class CrashActivity extends AppCompatActivity {

private ActivityCrashBinding binding;
private BugSend bugSend;

private boolean delete = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -32,10 +33,14 @@ protected void onCreate(Bundle savedInstanceState) {
// bug send
bugSend = new BugSend(this);
binding.logText.setText(versionName + "\n" + bugSend.readError());

binding.closeButton.setOnClickListener(view->{
System.exit(0);
bugSend.deleteStackTrace();
if(delete) {
bugSend.deleteStackTrace();
System.exit(0);
}else{
delete = true;
}
});

binding.reportButton.setOnClickListener(view->{
Expand Down
9 changes: 4 additions & 5 deletions app/src/main/java/com/arr/simple/model/Grid.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

public class Grid implements Items {

// private int mIcon;
private int mIcon;
private String mTitle, mSubtitle;

public Grid(String title, String subtitle) {
public Grid(String title, String subtitle, int icon) {
this.mTitle = title;
this.mSubtitle = subtitle;
// this.mIcon = icon;
this.mIcon = icon;
}

public String getTitle() {
Expand All @@ -19,11 +19,10 @@ public String getSubtitle() {
return mSubtitle;
}

/*
public int getIcon() {
return mIcon;
}
*/


@Override
public int getViewType() {
Expand Down
41 changes: 10 additions & 31 deletions app/src/main/java/com/arr/simple/ui/balances/BalancesFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand Down Expand Up @@ -115,7 +116,9 @@ private void viewContentBalances() {
binding.saldoPromo.setText(response.getBonoSaldo());
}

// balances
// balances
binding.textSaldo.setText(response.getSaldo());
binding.textVenceSaldo.setText(response.getVencimientoSaldo());
binding.textTarifa.setText(response.getTarifaConsumo());
binding.textDatos.setText(response.getDataAll());
binding.textDatosLte.setText("/ " + response.getLTE());
Expand Down Expand Up @@ -164,25 +167,10 @@ private void viewContentBalances() {
} else {
updateLinearProgress(0, binding.progressDatosCu);
}

// error
/*
if (!response.getError().isEmpty()) {
new MaterialAlertDialogBuilder(requireActivity())
.setMessage(
"Ah ocurrido un error al actualizar algunos de sus balances, por favor vuelva a intentarlo.")
.setPositiveButton(
"Ok",
(dialog, w) -> response.getClearError(getActivity()))
.show();
}
*/
}

private void executeUssdRequest(Handler handler, int index) {
if (index >= ussdCodes.length) {
// Se han realizado todas las consultas
// showSnackBar("Consulta completada!", true);
if (isVisible()) {
binding.swipeRefresh.setRefreshing(false);
viewContentBalances();
Expand All @@ -198,7 +186,7 @@ private void executeUssdRequest(Handler handler, int index) {
// actualizar notificación
boolean isNotifi = spBalance.getBoolean("balance_notif", true);
if (isNotifi) {
Intent broadcast = new Intent(getActivity(), NotificationBalances.class);
Intent broadcast = new Intent(requireActivity(), NotificationBalances.class);
requireActivity().sendBroadcast(broadcast);
}

Expand Down Expand Up @@ -241,7 +229,7 @@ private void updateHora() {
Date dat = calendar.getTime();
SimpleDateFormat datFormat = new SimpleDateFormat("hh:mm a", Locale.getDefault());
String hActual = datFormat.format(dat);
editor.putString("actualizado", "Última actualización: " + hActual);
editor.putString("actualizado", getActivity().getString(R.string.update) + hActual);
editor.apply();
String hor = spBalance.getString("actualizado", "");
binding.textHoraVencimiento.setText(hor);
Expand All @@ -262,21 +250,12 @@ public void showSnackBar(String message, boolean dimissable) {

public String calculateDays(String string) {
Calendar calendar = Calendar.getInstance();

// Obtén el número de días del string
int dias = Integer.parseInt(string.split(" ")[0]);

// Suma los días a la fecha actual
calendar.add(Calendar.DAY_OF_MONTH, dias);

// Obtén la fecha exacta
Date fechaExacta = calendar.getTime();

// Crea un formato para mostrar la fecha
@SuppressLint("SimpleDateFormat") SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");

// Convierte la fecha en una cadena formateada
String fechaFormateada = formatoFecha.format(fechaExacta);
String fechaFormateada = formatoFecha.format(fechaExacta);
Log.e("FECHA", fechaFormateada);
return fechaFormateada;
}

Expand All @@ -285,13 +264,13 @@ private void addReminding(String fechaString) {
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Calendar fechaActual = Calendar.getInstance();
try {
Date fechaObjeto = dateFormat.parse("01-10-2023");
Date fechaObjeto = dateFormat.parse(fechaString);
Calendar fechaObjetoCal = Calendar.getInstance();
assert fechaObjeto != null;
fechaObjetoCal.setTime(fechaObjeto);
fechaObjetoCal.add(Calendar.DAY_OF_YEAR, -5);
if (fechaActual.compareTo(fechaObjetoCal) >= 0) {
createNotification("SIMple", "Tiene paquetes próximos a vencer");
createNotification(getActivity().getString(R.string.app_name), getActivity().getString(R.string.vencimiento_message));
}
} catch (ParseException e) {
e.printStackTrace();
Expand Down
Loading

0 comments on commit 2dca355

Please sign in to comment.