// Path: app/src/main/java/tw/fatminmin/xposed/minminguard/Common.java
// public class Common
// {
//     public final static String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
// 
//     public final static String MOD_PREFS = "ModSettings";
//     public final static String UI_PREFS = "UI_PREF";
// 
//     // UI Pref
//     public final static String KEY_FIRST_TIME = "first_time_2_0_alpha_7";
//     public final static String KEY_SHOW_SYSTEM_APPS = "show_system_apps";
//     public final static String KEY_SHOW_LAUNCHER_ICON = "show_launcher_icon";
// 
//     // Xposed Mod Pref
//     public final static String KEY_MODE = "mode";
//     public final static String VALUE_MODE_AUTO = "auto";
//     public final static String VALUE_MODE_BLACKLIST = "blacklist";
//     public final static String VALUE_MODE_WHITELIST = "whitelist";
// 
//     // Fragment Name
//     public final static String FRG_MAIN = "main_fragment";
// 
//     // MinMinProvider
//     public final static String KEY_PKG_NAME = "PKG_NAME";
//     public final static String KEY_NETWORK = "AD_NETWORKS";
//     public final static String KEY_BLOCK_NUM = "BLOCK_NUM";
// 
//     private Common() throws InstantiationException
//     {
//         throw new InstantiationException("This class is not for instantiation");
//     }
// 
//     public static String getModeString(MainFragment.FragmentMode mode)
//     {
//         switch (mode)
//         {
//             case AUTO:
//                 return Common.VALUE_MODE_AUTO;
//             case BLACKLIST:
//                 return Common.VALUE_MODE_BLACKLIST;
//             case WHITELIST:
//                 return Common.VALUE_MODE_WHITELIST;
//             default:
//                 break;
//         }
//         return Common.VALUE_MODE_BLACKLIST;
//     }
// 
//     public static String getWhiteListKey(String pkgName)
//     {
//         return pkgName + "_whitelist";
//     }
// }
// 
// Path: app/src/main/java/tw/fatminmin/xposed/minminguard/orm/AppData.java
// public class AppData
// {
// 
//     private String pkgName;
//     private String adNetworks;
//     private Integer blockNum;
// 
//     public AppData()
//     {
//     }
// 
//     public AppData(String pkgName)
//     {
//         this.pkgName = pkgName;
//     }
// 
//     public AppData(String pkgName, String adNetworks, Integer blockNum)
//     {
//         this.pkgName = pkgName;
//         this.adNetworks = adNetworks;
//         this.blockNum = blockNum;
//     }
// 
//     public String getPkgName()
//     {
//         return pkgName;
//     }
// 
//     public void setPkgName(String pkgName)
//     {
//         this.pkgName = pkgName;
//     }
// 
//     public String getAdNetworks()
//     {
//         return adNetworks;
//     }
// 
//     public void setAdNetworks(String adNetworks)
//     {
//         this.adNetworks = adNetworks;
//     }
// 
//     public Integer getBlockNum()
//     {
//         return blockNum;
//     }
// 
//     public void setBlockNum(Integer blockNum)
//     {
//         this.blockNum = blockNum;
//     }
// }


import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.Switch;
import android.widget.TextView;
import tw.fatminmin.xposed.minminguard.Common;
import tw.fatminmin.xposed.minminguard.R;
import tw.fatminmin.xposed.minminguard.orm.AppData;
    {
        Bundle args = new Bundle();
        args.putString("appName", appName);
        args.putString("pkgName", pkgName);
        if (appData != null)
        {
            args.putString("adNetworks", appData.getAdNetworks());
            args.putInt("blockNum", appData.getBlockNum());
        }

        AppDetailDialogFragment fragment = new AppDetailDialogFragment();
        fragment.setArguments(args);

        return fragment;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        Bundle args = getArguments();
        appName = args.getString("appName");
        pkgName = args.getString("pkgName");
        adNetworks = args.getString("adNetworks");
        blockNum = args.getInt("blockNum");

        Context ctx = ContextCompat.createDeviceProtectedStorageContext(getActivity());
        if (ctx == null) ctx = getActivity();

// Path: app/src/main/java/tw/fatminmin/xposed/minminguard/Common.java
// public class Common
// {
//     public final static String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
// 
//     public final static String MOD_PREFS = "ModSettings";
//     public final static String UI_PREFS = "UI_PREF";
// 
//     // UI Pref
//     public final static String KEY_FIRST_TIME = "first_time_2_0_alpha_7";
//     public final static String KEY_SHOW_SYSTEM_APPS = "show_system_apps";
//     public final static String KEY_SHOW_LAUNCHER_ICON = "show_launcher_icon";
// 
//     // Xposed Mod Pref
//     public final static String KEY_MODE = "mode";
//     public final static String VALUE_MODE_AUTO = "auto";
//     public final static String VALUE_MODE_BLACKLIST = "blacklist";
//     public final static String VALUE_MODE_WHITELIST = "whitelist";
// 
//     // Fragment Name
//     public final static String FRG_MAIN = "main_fragment";
// 
//     // MinMinProvider
//     public final static String KEY_PKG_NAME = "PKG_NAME";
//     public final static String KEY_NETWORK = "AD_NETWORKS";
//     public final static String KEY_BLOCK_NUM = "BLOCK_NUM";
// 
//     private Common() throws InstantiationException
//     {
//         throw new InstantiationException("This class is not for instantiation");
//     }
// 
//     public static String getModeString(MainFragment.FragmentMode mode)
//     {
//         switch (mode)
//         {
//             case AUTO:
//                 return Common.VALUE_MODE_AUTO;
//             case BLACKLIST:
//                 return Common.VALUE_MODE_BLACKLIST;
//             case WHITELIST:
//                 return Common.VALUE_MODE_WHITELIST;
//             default:
//                 break;
//         }
//         return Common.VALUE_MODE_BLACKLIST;
//     }
// 
//     public static String getWhiteListKey(String pkgName)
//     {
//         return pkgName + "_whitelist";
//     }
// }
// 
// Path: app/src/main/java/tw/fatminmin/xposed/minminguard/orm/AppData.java
// public class AppData
// {
// 
//     private String pkgName;
//     private String adNetworks;
//     private Integer blockNum;
// 
//     public AppData()
//     {
//     }
// 
//     public AppData(String pkgName)
//     {
//         this.pkgName = pkgName;
//     }
// 
//     public AppData(String pkgName, String adNetworks, Integer blockNum)
//     {
//         this.pkgName = pkgName;
//         this.adNetworks = adNetworks;
//         this.blockNum = blockNum;
//     }
// 
//     public String getPkgName()
//     {
//         return pkgName;
//     }
// 
//     public void setPkgName(String pkgName)
//     {
//         this.pkgName = pkgName;
//     }
// 
//     public String getAdNetworks()
//     {
//         return adNetworks;
//     }
// 
//     public void setAdNetworks(String adNetworks)
//     {
//         this.adNetworks = adNetworks;
//     }
// 
//     public Integer getBlockNum()
//     {
//         return blockNum;
//     }
// 
//     public void setBlockNum(Integer blockNum)
//     {
//         this.blockNum = blockNum;
//     }
// }


// Path: app/src/main/java/tw/fatminmin/xposed/minminguard/ui/dialog/AppDetailDialogFragment.java
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.Switch;
import android.widget.TextView;
import tw.fatminmin.xposed.minminguard.Common;
import tw.fatminmin.xposed.minminguard.R;
import tw.fatminmin.xposed.minminguard.orm.AppData;

    {
        Bundle args = new Bundle();
        args.putString("appName", appName);
        args.putString("pkgName", pkgName);
        if (appData != null)
        {
            args.putString("adNetworks", appData.getAdNetworks());
            args.putInt("blockNum", appData.getBlockNum());
        }

        AppDetailDialogFragment fragment = new AppDetailDialogFragment();
        fragment.setArguments(args);

        return fragment;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        Bundle args = getArguments();
        appName = args.getString("appName");
        pkgName = args.getString("pkgName");
        adNetworks = args.getString("adNetworks");
        blockNum = args.getInt("blockNum");

        Context ctx = ContextCompat.createDeviceProtectedStorageContext(getActivity());
        if (ctx == null) ctx = getActivity();

        mPref = ctx.getSharedPreferences(Common.MOD_PREFS, Context.MODE_PRIVATE);