X-Git-Url: https://git.mdrn.pl/mobilnebezpieczenstwo.git/blobdiff_plain/4b08fd3d054a0b4872d60adc7627bfdef069c39b..be45943134f44b96728f516e91a66149e51443c0:/app/src/main/java/com/samsung/srpol/data/Subcategory.java diff --git a/app/src/main/java/com/samsung/srpol/data/Subcategory.java b/app/src/main/java/com/samsung/srpol/data/Subcategory.java new file mode 100644 index 0000000..6eb1bc5 --- /dev/null +++ b/app/src/main/java/com/samsung/srpol/data/Subcategory.java @@ -0,0 +1,112 @@ +/* + 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 . +*/ + +package com.samsung.srpol.data; + +import java.util.ArrayList; + +import android.content.Context; +import android.content.res.Resources.NotFoundException; +import android.graphics.drawable.Drawable; + +public class Subcategory { + + public static final int CAN_SEND_DATA_SUB_CATEGORY_ID = 1; + public static final String CAN_SEND_DATA_SUB_CATEGORY_HEADER = "uprawnienia do przesyłu danych"; + private static final String DARK_SUFIX = "_dark"; + private static final String DISABLE_SUFIX = "_disable"; + private static int mIdGenerator = 2; + + private int mSubcatId; + private String mHeader; + private String mDescription; + private int mIconRes; + private Drawable mIconDrawable; + private Drawable mIconDarkDrawable; + private Drawable mIconDisabledDrawable; + private ArrayList mPermissions; + + public Subcategory(Context context, String header, String description, + String icon, ArrayList permissions) { + mHeader = header; + mDescription = description; + if (mHeader.equals(CAN_SEND_DATA_SUB_CATEGORY_HEADER)) { + mSubcatId = CAN_SEND_DATA_SUB_CATEGORY_ID; + } else { + mSubcatId = mIdGenerator; + mIdGenerator = mIdGenerator << 1; + } + + String packageName = context.getPackageName(); + mIconRes = context.getResources().getIdentifier(icon, "drawable", + packageName); + mIconDrawable = context.getResources().getDrawable(mIconRes); + + int iconDarkRes = context.getResources().getIdentifier( + icon.concat(DARK_SUFIX), "drawable", packageName); + try { + mIconDarkDrawable = context.getResources().getDrawable(iconDarkRes); + } catch (NotFoundException ex) { + mIconDarkDrawable = mIconDrawable; + } + + int iconDisableRes = context.getResources().getIdentifier(icon.concat(DISABLE_SUFIX), "drawable", packageName); + try { + mIconDisabledDrawable = context.getResources().getDrawable(iconDisableRes); + } catch (NotFoundException ex) { + mIconDisabledDrawable = mIconDrawable; + } + + mPermissions = permissions; + } + + public ArrayList getPermissions() { + return mPermissions; + } + + public int getId() { + return mSubcatId; + } + + public String getHeader() { + return mHeader; + } + + public Drawable getIconDrawable() { + return mIconDrawable; + } + + public Drawable getDarkIcon() { + return mIconDarkDrawable; + } + + public Drawable getDisabledIcon() { + return mIconDisabledDrawable; + } + + public String getDescription() { + return mDescription; + } + + public static void resetGenerator() { + mIdGenerator = 2; + } + +}