144 lines
4.2 KiB
Java
144 lines
4.2 KiB
Java
package app.fedilab.android.activities;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.app.ProgressDialog;
|
|
import android.content.Context;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.res.Configuration;
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import com.afollestad.aesthetic.Aesthetic;
|
|
import com.afollestad.aesthetic.AestheticActivity;
|
|
import com.google.android.material.snackbar.Snackbar;
|
|
|
|
import androidx.core.app.ActivityCompat;
|
|
import androidx.core.content.ContextCompat;
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
import android.widget.Toast;
|
|
|
|
import com.franmontiel.localechanger.LocaleChanger;
|
|
import com.vanniktech.emoji.EmojiManager;
|
|
import com.vanniktech.emoji.one.EmojiOneProvider;
|
|
|
|
import java.util.Timer;
|
|
|
|
import app.fedilab.android.helper.Helper;
|
|
import app.fedilab.android.helper.ThemeHelper;
|
|
import es.dmoral.toasty.Toasty;
|
|
|
|
/**
|
|
* Created by Thomas on 12/12/2017.
|
|
* Base activity which updates security provider
|
|
*/
|
|
|
|
@SuppressLint("Registered")
|
|
public class BaseActivity extends AestheticActivity {
|
|
|
|
|
|
public static final int READ_WRITE_STORAGE = 52;
|
|
public static Timer timer;
|
|
private ProgressDialog mProgressDialog;
|
|
|
|
static {
|
|
Helper.installProvider();
|
|
EmojiManager.install(new EmojiOneProvider());
|
|
}
|
|
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
/* if (BuildConfig.DEBUG) {
|
|
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
|
|
.detectDiskReads()
|
|
.detectDiskWrites()
|
|
.detectAll()
|
|
.penaltyLog()
|
|
.build());
|
|
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
|
|
.detectLeakedSqlLiteObjects()
|
|
.detectLeakedClosableObjects()
|
|
.detectLeakedRegistrationObjects()
|
|
.detectActivityLeaks()
|
|
.penaltyLog()
|
|
.penaltyDeath()
|
|
.build());
|
|
}*/
|
|
super.onCreate(savedInstanceState);
|
|
}
|
|
|
|
@Override
|
|
public void onDestroy() {
|
|
super.onDestroy();
|
|
if (timer != null) {
|
|
timer.cancel();
|
|
timer = null;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onConfigurationChanged(Configuration newConfig) {
|
|
super.onConfigurationChanged(newConfig);
|
|
LocaleChanger.onConfigurationChanged();
|
|
}
|
|
|
|
@Override
|
|
protected void attachBaseContext(Context newBase) {
|
|
newBase = LocaleChanger.configureBaseContext(newBase);
|
|
super.attachBaseContext(newBase);
|
|
}
|
|
|
|
public boolean requestPermission(String permission) {
|
|
boolean isGranted = ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED;
|
|
if (!isGranted) {
|
|
ActivityCompat.requestPermissions(
|
|
this,
|
|
new String[]{permission},
|
|
READ_WRITE_STORAGE);
|
|
}
|
|
return isGranted;
|
|
}
|
|
|
|
public void isPermissionGranted(boolean isGranted, String permission) {
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
|
switch (requestCode) {
|
|
case READ_WRITE_STORAGE:
|
|
isPermissionGranted(grantResults[0] == PackageManager.PERMISSION_GRANTED, permissions[0]);
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void showLoading(@NonNull String message) {
|
|
mProgressDialog = new ProgressDialog(this);
|
|
mProgressDialog.setMessage(message);
|
|
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
|
mProgressDialog.setCancelable(false);
|
|
mProgressDialog.show();
|
|
}
|
|
|
|
protected void hideLoading() {
|
|
if (mProgressDialog != null) {
|
|
mProgressDialog.dismiss();
|
|
}
|
|
}
|
|
|
|
protected void showSnackbar(@NonNull String message) {
|
|
View view = findViewById(android.R.id.content);
|
|
if (view != null) {
|
|
Snackbar.make(view, message, Snackbar.LENGTH_SHORT).show();
|
|
} else {
|
|
Toasty.info(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
|
|
}
|
|
}
|
|
}
|