mirror of https://github.com/M66B/FairEmail.git
Fixed temp memory leak
This commit is contained in:
parent
0abd3a0d03
commit
a04025b8d0
|
@ -246,9 +246,9 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
|
|||
|
||||
if (Helper.shouldAuthenticate(this, false))
|
||||
Helper.authenticate(ActivityMain.this, ActivityMain.this, null,
|
||||
new Runnable() {
|
||||
new RunnableEx("auth:succeeded") {
|
||||
@Override
|
||||
public void run() {
|
||||
public void delegate() {
|
||||
Intent intent = getIntent();
|
||||
Bundle args = new Bundle();
|
||||
if (intent.hasExtra("intent"))
|
||||
|
@ -256,9 +256,9 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
|
|||
boot.execute(ActivityMain.this, args, "main:accounts");
|
||||
}
|
||||
},
|
||||
new Runnable() {
|
||||
new RunnableEx("auth:cancelled") {
|
||||
@Override
|
||||
public void run() {
|
||||
public void delegate() {
|
||||
try {
|
||||
finish();
|
||||
} catch (Throwable ex) {
|
||||
|
|
|
@ -259,29 +259,30 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
|
|||
public void onClick(View v) {
|
||||
final boolean biometrics = prefs.getBoolean("biometrics", false);
|
||||
|
||||
Helper.authenticate(getActivity(), getViewLifecycleOwner(), biometrics, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
boolean pro = ActivityBilling.isPro(getContext());
|
||||
if (pro) {
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
if (!biometrics)
|
||||
editor.remove("pin");
|
||||
editor.putBoolean("biometrics", !biometrics);
|
||||
editor.apply();
|
||||
} else
|
||||
startActivity(new Intent(getContext(), ActivityBilling.class));
|
||||
} catch (Throwable ex) {
|
||||
Log.w(ex);
|
||||
}
|
||||
}
|
||||
}, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
Helper.authenticate(getActivity(), getViewLifecycleOwner(), biometrics,
|
||||
new RunnableEx("auth:setup") {
|
||||
@Override
|
||||
public void delegate() {
|
||||
try {
|
||||
boolean pro = ActivityBilling.isPro(getContext());
|
||||
if (pro) {
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
if (!biometrics)
|
||||
editor.remove("pin");
|
||||
editor.putBoolean("biometrics", !biometrics);
|
||||
editor.apply();
|
||||
} else
|
||||
startActivity(new Intent(getContext(), ActivityBilling.class));
|
||||
} catch (Throwable ex) {
|
||||
Log.w(ex);
|
||||
}
|
||||
}
|
||||
}, new RunnableEx("auth:nothing") {
|
||||
@Override
|
||||
public void delegate() {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -2293,9 +2293,9 @@ public class Helper {
|
|||
}
|
||||
|
||||
if (!isCancelled(errorCode))
|
||||
ApplicationEx.getMainHandler().post(new Runnable() {
|
||||
ApplicationEx.getMainHandler().post(new RunnableEx("auth:error") {
|
||||
@Override
|
||||
public void run() {
|
||||
public void delegate() {
|
||||
ToastEx.makeText(activity,
|
||||
"Error " + errorCode + ": " + errString,
|
||||
Toast.LENGTH_LONG).show();
|
||||
|
@ -2335,9 +2335,9 @@ public class Helper {
|
|||
|
||||
prompt.authenticate(info.build());
|
||||
|
||||
final Runnable cancelPrompt = new Runnable() {
|
||||
final Runnable cancelPrompt = new RunnableEx("auth:cancelprompt") {
|
||||
@Override
|
||||
public void run() {
|
||||
public void delegate() {
|
||||
try {
|
||||
prompt.cancelAuthentication();
|
||||
} catch (Throwable ex) {
|
||||
|
@ -2352,7 +2352,12 @@ public class Helper {
|
|||
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
|
||||
public void onDestroy() {
|
||||
Log.i("Authenticate destroyed");
|
||||
ApplicationEx.getMainHandler().post(cancelPrompt);
|
||||
ApplicationEx.getMainHandler().removeCallbacks(cancelPrompt);
|
||||
try {
|
||||
prompt.cancelAuthentication();
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
owner.getLifecycle().removeObserver(this);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue