package com.indieweb.indigenous.photoeditor.base; import android.annotation.SuppressLint; import android.app.ProgressDialog; import android.content.pm.PackageManager; import androidx.annotation.NonNull; import com.google.android.material.snackbar.Snackbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Toast; @SuppressLint("Registered") public class BaseActivity extends AppCompatActivity { public static final int READ_WRITE_STORAGE = 52; private ProgressDialog mProgressDialog; 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) { } public void makeFullScreen() { requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == READ_WRITE_STORAGE) { isPermissionGranted(grantResults[0] == PackageManager.PERMISSION_GRANTED, permissions[0]); } } 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 { Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); } } }