Migrate to gradle, appcompat as external dependency.
[mobilnebezpieczenstwo.git] / src / com / samsung / srpol / loader / AppDetails.java
diff --git a/src/com/samsung/srpol/loader/AppDetails.java b/src/com/samsung/srpol/loader/AppDetails.java
deleted file mode 100644 (file)
index 6fff62b..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
-   Copyright (C) 2014  Samsung Electronics Polska Sp. z o.o.
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU AFFERO General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-    You may obtain a copy of the License at
-
-                http://www.gnu.org/licenses/agpl-3.0.txt
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-package com.samsung.srpol.loader;
-
-import java.io.File;
-import java.util.Comparator;
-
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.graphics.ColorMatrix;
-import android.graphics.ColorMatrixColorFilter;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-
-/**
- * Helper class containing details about given permission
- * 
- * This Class contains : String mPermissionName; String
- *         mPermissionLabel; String mPermissionDetails;
- */
-public class AppDetails {
-    public static final String TAG = "AppDetails";
-    private static final ColorMatrixColorFilter mGrayscaleFilter;
-
-    private String mAppName;
-    private String mPackageName;
-    private Drawable mAppIcon;
-    private boolean mSystemApp;
-
-    private int mSubCategoriesMask;
-
-    private static AppListLoader mLoader;
-    private boolean mEnabled;
-    private boolean mMounted;
-    private final File mApkFile;
-
-    static {
-        ColorMatrix matrix = new ColorMatrix();
-        matrix.setSaturation(0);
-        mGrayscaleFilter = new ColorMatrixColorFilter(matrix);
-    }
-
-    public AppDetails(AppListLoader loader, PackageInfo packageinfo) {
-        mLoader = loader;
-        mPackageName = packageinfo.applicationInfo.packageName;
-        mEnabled = packageinfo.applicationInfo.enabled;
-        mApkFile = new File(packageinfo.applicationInfo.sourceDir);
-        if (!mApkFile.exists()) {
-            mMounted = false;
-            mAppName = packageinfo.applicationInfo.packageName;
-        } else {
-            mMounted = true;
-            CharSequence label = packageinfo.applicationInfo.loadLabel(mLoader.getPm());
-            mAppName = label != null ? label.toString()
-                    : packageinfo.applicationInfo.packageName;
-        }
-        mSystemApp = (packageinfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) > 0;
-    }
-
-    /**
-     * @return the mAppName
-     */
-    public String getAppName() {
-        return mAppName;
-    }
-
-    /**
-     * @return the mAppPackageName
-     */
-    public String getAppPackageName() {
-        return mPackageName;
-    }
-
-    /**
-     * @return the mAppIcon
-     */
-    public Drawable getAppIcon() {
-        if (mAppIcon == null || !mMounted) {
-            if (mApkFile.exists()) {
-                try {
-                    mAppIcon = mLoader.getPm().getApplicationIcon(mPackageName);
-                } catch (NameNotFoundException e) {
-                    mAppIcon = mLoader.getContext().getResources()
-                            .getDrawable(android.R.drawable.sym_def_app_icon);
-                }
-                mMounted = true;
-                return updateAppIconColor(mAppIcon);
-            } else {
-                mMounted = false;
-                return updateAppIconColor(mLoader.getContext().getResources()
-                        .getDrawable(android.R.drawable.sym_def_app_icon));
-            }
-        } else
-            return mAppIcon;
-    }
-
-    public int getSubcategoriesMask() {
-        return mSubCategoriesMask;
-    }
-
-    public boolean isInSubcategory(int subcategoryId) {
-        return (mSubCategoriesMask & subcategoryId) > 0;
-    }
-    
-    public boolean isInAllSubcategories(int subcategoryIds) {
-        return (mSubCategoriesMask & subcategoryIds) == subcategoryIds;
-    }
-
-    public boolean isEnabled() {
-        return mEnabled;
-    }
-
-    public void setEnabled(boolean state) {
-        mEnabled = state;
-        updateAppIconColor(mAppIcon);
-    }
-
-    private Drawable updateAppIconColor(Drawable icon) {
-        // disabling and enabling apps in system application manager is
-        // available since API 4.0
-        if (icon != null
-                && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
-            if (mEnabled) {
-                icon.setColorFilter(null);
-            } else {
-                icon.setColorFilter(mGrayscaleFilter);
-            }
-        }
-        return icon;
-    }
-
-    /**
-     * @return the mSystemApp
-     */
-    public boolean isSystemApp() {
-        return mSystemApp;
-    }
-
-    public void addSubcategory(int id) {
-        mSubCategoriesMask |= id;
-    }
-
-    /**
-     * @return the mAppPackageName
-     */
-    @Override
-    public String toString() {
-        return mPackageName;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (o instanceof AppDetails) {
-            AppDetails appDetails = (AppDetails) o;
-            if (appDetails.getAppPackageName().equals(mPackageName)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Perform inteligent comparison of application entry objects.
-     */
-    public static final Comparator<AppDetails> SMART_COMPARATOR = new Comparator<AppDetails>() {
-        @Override
-        public int compare(AppDetails object1, AppDetails object2) {
-            if (object1.mSystemApp) {
-                if (object2.mSystemApp)
-                    return object1.mAppName.compareTo(object2.mAppName);
-                return 1;
-            } else {
-                if (object2.mSystemApp)
-                    return -1;
-                return object1.mAppName.compareTo(object2.mAppName);
-            }
-        }
-    };
-}