// Path: app/src/main/java/nich/work/aequorea/common/ui/activity/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity implements BaseView {
//     public String currentTheme;
//     public boolean needToReTheme;
//     
//     private boolean isForeground;
//     
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initTheme();
//         
//         setContentView(getContentViewId());
//         initModel();
//         initView();
//         initPresenter();
//     }
//     
//     protected void initTheme() {
//         currentTheme = ThemeHelper.getTheme();
//         setTheme(ThemeHelper.getThemeStyle(currentTheme));
//     }
//     
//     @Override
//     protected void onResume() {
//         super.onResume();
//         
//         isForeground = true;
//         if (needToReTheme) {
//             onThemeSwitchPending();
//         }
//     }
//     
//     @Override
//     protected void onPause() {
//         super.onPause();
//         
//         isForeground = false;
//     }
//     
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//     }
//     
//     public void setStatusBarStyle(boolean isLightStatusBar) {
//         DisplayUtils.setStatusBarStyle(this, isLightStatusBar);
//     }
//     
//     public void setStatusBarInLowProfileMode(boolean isLightStautsBar) {
//         DisplayUtils.setStatusInLowProfileMode(this, isLightStautsBar);
//     }
//     
//     public int dp2px(int dp) {
//         return DisplayUtils.dp2px(this, dp);
//     }
//     
//     protected abstract int getContentViewId();
//     
//     protected abstract void initModel();
//     
//     protected abstract void initView();
//     
//     protected abstract void initPresenter();
//     
//     // For those activity that need to change color when user have changed theme.
//     @Override
//     public void onThemeSwitch() {
//         // do nothing
//     }
//     
//     @Override
//     public void onThemeSwitchPending() {
//         // do nothing
//     }
//     
//     public boolean isInLightTheme() {
//         return currentTheme.equals(Constants.THEME_LIGHT);
//     }
//     
//     public boolean activityInForeground() {
//         return isForeground;
//     }
//     
//     @Override
//     public void onBackPressed() {
//         super.onBackPressed();
//         overridePendingTransition(0, R.anim.activity_slide_out_bottom);
//     }
// }


import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Build;
import androidx.core.widget.NestedScrollView;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import nich.work.aequorea.R;
import nich.work.aequorea.common.ui.activity.BaseActivity;
package nich.work.aequorea.common.utils;




public class DisplayUtils {
    
    public static int getStatusBarHeight(Resources r) {
        int result = 0;
        int resourceId = r.getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            result = r.getDimensionPixelSize(resourceId);
        }
        return result;
    }
    
// Path: app/src/main/java/nich/work/aequorea/common/ui/activity/BaseActivity.java
// public abstract class BaseActivity extends AppCompatActivity implements BaseView {
//     public String currentTheme;
//     public boolean needToReTheme;
//     
//     private boolean isForeground;
//     
//     @Override
//     protected void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         initTheme();
//         
//         setContentView(getContentViewId());
//         initModel();
//         initView();
//         initPresenter();
//     }
//     
//     protected void initTheme() {
//         currentTheme = ThemeHelper.getTheme();
//         setTheme(ThemeHelper.getThemeStyle(currentTheme));
//     }
//     
//     @Override
//     protected void onResume() {
//         super.onResume();
//         
//         isForeground = true;
//         if (needToReTheme) {
//             onThemeSwitchPending();
//         }
//     }
//     
//     @Override
//     protected void onPause() {
//         super.onPause();
//         
//         isForeground = false;
//     }
//     
//     @Override
//     protected void onDestroy() {
//         super.onDestroy();
//     }
//     
//     public void setStatusBarStyle(boolean isLightStatusBar) {
//         DisplayUtils.setStatusBarStyle(this, isLightStatusBar);
//     }
//     
//     public void setStatusBarInLowProfileMode(boolean isLightStautsBar) {
//         DisplayUtils.setStatusInLowProfileMode(this, isLightStautsBar);
//     }
//     
//     public int dp2px(int dp) {
//         return DisplayUtils.dp2px(this, dp);
//     }
//     
//     protected abstract int getContentViewId();
//     
//     protected abstract void initModel();
//     
//     protected abstract void initView();
//     
//     protected abstract void initPresenter();
//     
//     // For those activity that need to change color when user have changed theme.
//     @Override
//     public void onThemeSwitch() {
//         // do nothing
//     }
//     
//     @Override
//     public void onThemeSwitchPending() {
//         // do nothing
//     }
//     
//     public boolean isInLightTheme() {
//         return currentTheme.equals(Constants.THEME_LIGHT);
//     }
//     
//     public boolean activityInForeground() {
//         return isForeground;
//     }
//     
//     @Override
//     public void onBackPressed() {
//         super.onBackPressed();
//         overridePendingTransition(0, R.anim.activity_slide_out_bottom);
//     }
// }


// Path: app/src/main/java/nich/work/aequorea/common/utils/DisplayUtils.java
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Build;
import androidx.core.widget.NestedScrollView;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import nich.work.aequorea.R;
import nich.work.aequorea.common.ui.activity.BaseActivity;

package nich.work.aequorea.common.utils;




public class DisplayUtils {
    
    public static int getStatusBarHeight(Resources r) {
        int result = 0;
        int resourceId = r.getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            result = r.getDimensionPixelSize(resourceId);
        }
        return result;
    }
    
    public static void setStatusBarStyle(BaseActivity activity, boolean isLight) {