diff options
Diffstat (limited to 'apps/NotificationStudio/src/com/android/notificationstudio/model/EditableItem.java')
-rw-r--r-- | apps/NotificationStudio/src/com/android/notificationstudio/model/EditableItem.java | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/apps/NotificationStudio/src/com/android/notificationstudio/model/EditableItem.java b/apps/NotificationStudio/src/com/android/notificationstudio/model/EditableItem.java deleted file mode 100644 index 54e03e019..000000000 --- a/apps/NotificationStudio/src/com/android/notificationstudio/model/EditableItem.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.notificationstudio.model; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; - -import com.android.notificationstudio.R; - -public enum EditableItem implements EditableItemConstants { - - PRESET(R.string.preset, TYPE_DROP_DOWN, CATEGORY_MAIN, - PRESET_BASIC, PRESET_EMAIL, PRESET_PHOTO, PRESET_CUSTOM), - SMALL_ICON(R.string.small_icon, TYPE_RESOURCE_ID, CATEGORY_MAIN, - SMALL_ICONS), - CONTENT_TITLE(R.string.content_title, TYPE_TEXT, CATEGORY_MAIN), - CONTENT_TEXT(R.string.content_text, TYPE_TEXT, CATEGORY_MAIN), - SUB_TEXT(R.string.sub_text, TYPE_TEXT, CATEGORY_MAIN), - LARGE_ICON(R.string.large_icon, TYPE_BITMAP, CATEGORY_MAIN), - CONTENT_INFO(R.string.content_info, TYPE_TEXT, CATEGORY_MAIN), - NUMBER(R.string.number, TYPE_INT, CATEGORY_MAIN), - WHEN(R.string.when, TYPE_DATETIME, CATEGORY_MAIN), - PROGRESS(R.string.progress, TYPE_BOOLEAN, CATEGORY_MAIN), - USES_CHRON(R.string.uses_chron, TYPE_BOOLEAN, CATEGORY_MAIN), - STYLE(R.string.style, TYPE_DROP_DOWN, CATEGORY_STYLE, - STYLE_NONE, STYLE_BIG_PICTURE, STYLE_BIG_TEXT, STYLE_INBOX), - PICTURE(R.string.picture, TYPE_BITMAP, CATEGORY_STYLE), - BIG_TEXT(R.string.big_text, TYPE_TEXT, CATEGORY_STYLE), - LINES(R.string.lines, TYPE_TEXT_LINES, CATEGORY_STYLE), - BIG_CONTENT_TITLE(R.string.big_content_title, TYPE_TEXT, CATEGORY_STYLE), - SUMMARY_TEXT(R.string.summary_text, TYPE_TEXT, CATEGORY_STYLE), - ACTION1_ICON(R.string.icon, TYPE_RESOURCE_ID, CATEGORY_ACTION1, - ACTION_ICONS), - ACTION1_TEXT(R.string.text, TYPE_TEXT, CATEGORY_ACTION1), - ACTION2_ICON(R.string.icon, TYPE_RESOURCE_ID, CATEGORY_ACTION2, - ACTION_ICONS), - ACTION2_TEXT(R.string.text, TYPE_TEXT, CATEGORY_ACTION2), - ACTION3_ICON(R.string.icon, TYPE_RESOURCE_ID, CATEGORY_ACTION3, - ACTION_ICONS), - ACTION3_TEXT(R.string.text, TYPE_TEXT, CATEGORY_ACTION3), - ; - - private final int mCaptionId; - private final int mType; - private final int mCategoryId; - - private Object[] mAvailableValues; - private Object mValue; - private boolean mVisible = true; - private Runnable mVisibilityListener; - - private EditableItem(int captionId, int type, int categoryId, Object... availableValues) { - mCaptionId = captionId; - mType = type; - mCategoryId = categoryId; - mAvailableValues = availableValues; - } - - // init - public static void initIfNecessary(Context context) { - if (PRESET.hasValue()) - return; - loadBitmaps(context, LARGE_ICON, LARGE_ICONS); - loadBitmaps(context, PICTURE, PICTURES); - PRESET.setValue(PRESET_BASIC); - } - - private static void loadBitmaps(Context context, EditableItem item, int[] bitmapResIds) { - Object[] largeIconBitmaps = new Object[bitmapResIds.length]; - Resources res = context.getResources(); - for (int i = 0; i < bitmapResIds.length; i++) - largeIconBitmaps[i] = BitmapFactory.decodeResource(res, bitmapResIds[i]); - item.setAvailableValues(largeIconBitmaps); - } - - // visibility - public boolean isVisible() { - return mVisible; - } - - public void setVisible(boolean visible) { - if (mVisible == visible) - return; - mVisible = visible; - if (mVisibilityListener != null) - mVisibilityListener.run(); - } - - public void setVisibilityListener(Runnable listener) { - mVisibilityListener = listener; - } - - // value - - public boolean hasValue() { - return mValue != null; - } - - public void setValue(Object value) { - if (mValue == value) - return; - mValue = value; - if (this == STYLE) - applyStyle(); - if (this == PRESET && !PRESET_CUSTOM.equals(value)) - applyPreset(); - } - - private void applyStyle() { - PICTURE.setVisible(STYLE_BIG_PICTURE.equals(mValue)); - BIG_TEXT.setVisible(STYLE_BIG_TEXT.equals(mValue)); - LINES.setVisible(STYLE_INBOX.equals(mValue)); - BIG_CONTENT_TITLE.setVisible(!STYLE_NONE.equals(mValue)); - SUMMARY_TEXT.setVisible(!STYLE_NONE.equals(mValue)); - } - - private void applyPreset() { - for (EditableItem item : values()) - if (item != PRESET) - item.setValue(null); - STYLE.setValue(STYLE_NONE); - if (PRESET_BASIC.equals(mValue)) { - SMALL_ICON.setValue(android.R.drawable.stat_notify_chat); - CONTENT_TITLE.setValue("Basic title"); - CONTENT_TEXT.setValue("Basic text"); - } else if (PRESET_EMAIL.equals(mValue)) { - SMALL_ICON.setValue(R.drawable.ic_notification_multiple_mail_holo_dark); - LARGE_ICON.setValue(LARGE_ICON.getAvailableValues()[3]); - CONTENT_TITLE.setValue("3 new messages"); - CONTENT_TEXT.setValue("Alice, Bob, Chuck"); - STYLE.setValue(STYLE_INBOX); - LINES.setValue("Alice: Re: Something\n" + - "Bob: Did you get the memo?\n" + - "Chuck: Limited time offer!"); - } else if (PRESET_PHOTO.equals(mValue)) { - SMALL_ICON.setValue(android.R.drawable.ic_menu_camera); - LARGE_ICON.setValue(LARGE_ICON.getAvailableValues()[2]); - CONTENT_TITLE.setValue("Sunset on the rocks"); - CONTENT_TEXT.setValue("800x534 | 405.1K"); - SUMMARY_TEXT.setValue(CONTENT_TEXT.getValueString()); - STYLE.setValue(STYLE_BIG_PICTURE); - PICTURE.setValue(PICTURE.getAvailableValues()[0]); - ACTION1_ICON.setValue(android.R.drawable.ic_menu_share); - ACTION1_TEXT.setValue("Share"); - } - } - - public Object getValue() { - return mValue; - } - - public String getValueString() { - return (String) mValue; - } - - public int getValueInt() { - return (Integer) mValue; - } - - public long getValueLong() { - return (Long) mValue; - } - - public boolean getValueBool() { - return (Boolean) mValue; - } - - public Bitmap getValueBitmap() { - return (Bitmap) mValue; - } - - // available values - - public Object[] getAvailableValues() { - return mAvailableValues; - } - - public Integer[] getAvailableValuesInteger() { - Integer[] integers = new Integer[mAvailableValues.length]; - System.arraycopy(mAvailableValues, 0, integers, 0, integers.length); - return integers; - } - - public <T> void setAvailableValues(T... values) { - mAvailableValues = values; - } - - public String getCaption(Context context) { - return context.getString(mCaptionId); - } - - public String getCategory(Context context) { - return context.getString(mCategoryId); - } - - public int getType() { - return mType; - } - -} |