diff options
Diffstat (limited to 'src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java')
-rw-r--r-- | src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java b/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java deleted file mode 100644 index 5af6a30..0000000 --- a/src/com/android/messaging/datamodel/data/PeopleOptionsItemData.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2015 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.messaging.datamodel.data; - -import android.content.Context; -import android.database.Cursor; -import android.media.Ringtone; -import android.media.RingtoneManager; -import android.net.Uri; - -import com.android.messaging.R; -import com.android.messaging.datamodel.data.ConversationListItemData.ConversationListViewColumns; -import com.android.messaging.util.Assert; -import com.android.messaging.util.RingtoneUtil; - -public class PeopleOptionsItemData { - public static final String[] PROJECTION = { - ConversationListViewColumns.NOTIFICATION_ENABLED, - ConversationListViewColumns.NOTIFICATION_SOUND_URI, - ConversationListViewColumns.NOTIFICATION_VIBRATION, - }; - - // Column index for query projection. - private static final int INDEX_NOTIFICATION_ENABLED = 0; - private static final int INDEX_NOTIFICATION_SOUND_URI = 1; - private static final int INDEX_NOTIFICATION_VIBRATION = 2; - - // Identification for each setting that's surfaced to the UI layer. - public static final int SETTING_NOTIFICATION_ENABLED = 0; - public static final int SETTING_NOTIFICATION_SOUND_URI = 1; - public static final int SETTING_NOTIFICATION_VIBRATION = 2; - public static final int SETTING_BLOCKED = 3; - public static final int SETTINGS_COUNT = 4; - - // Type of UI switch to show for the toggle button. - public static final int TOGGLE_TYPE_CHECKBOX = 0; - public static final int TOGGLE_TYPE_SWITCH = 1; - - private String mTitle; - private String mSubtitle; - private Uri mRingtoneUri; - private boolean mCheckable; - private boolean mChecked; - private boolean mEnabled; - private int mItemId; - private ParticipantData mOtherParticipant; - - private final Context mContext; - - public PeopleOptionsItemData(final Context context) { - mContext = context; - } - - /** - * Bind to a specific setting column on conversation metadata cursor. (Note - * that it binds to columns because it treats individual columns of the cursor as - * separate options to display for the conversation, e.g. notification settings). - */ - public void bind( - final Cursor cursor, final ParticipantData otherParticipant, final int settingType) { - mSubtitle = null; - mRingtoneUri = null; - mCheckable = true; - mEnabled = true; - mItemId = settingType; - mOtherParticipant = otherParticipant; - - final boolean notificationEnabled = cursor.getInt(INDEX_NOTIFICATION_ENABLED) == 1; - switch (settingType) { - case SETTING_NOTIFICATION_ENABLED: - mTitle = mContext.getString(R.string.notifications_enabled_conversation_pref_title); - mChecked = notificationEnabled; - break; - - case SETTING_NOTIFICATION_SOUND_URI: - mTitle = mContext.getString(R.string.notification_sound_pref_title); - final String ringtoneString = cursor.getString(INDEX_NOTIFICATION_SOUND_URI); - Uri ringtoneUri = RingtoneUtil.getNotificationRingtoneUri(ringtoneString); - - mSubtitle = mContext.getString(R.string.silent_ringtone); - if (ringtoneUri != null) { - final Ringtone ringtone = RingtoneManager.getRingtone(mContext, ringtoneUri); - if (ringtone != null) { - mSubtitle = ringtone.getTitle(mContext); - } - } - mCheckable = false; - mRingtoneUri = ringtoneUri; - mEnabled = notificationEnabled; - break; - - case SETTING_NOTIFICATION_VIBRATION: - mTitle = mContext.getString(R.string.notification_vibrate_pref_title); - mChecked = cursor.getInt(INDEX_NOTIFICATION_VIBRATION) == 1; - mEnabled = notificationEnabled; - break; - - case SETTING_BLOCKED: - Assert.notNull(otherParticipant); - final int resourceId = otherParticipant.isBlocked() ? - R.string.unblock_contact_title : R.string.block_contact_title; - mTitle = mContext.getString(resourceId, otherParticipant.getDisplayDestination()); - mCheckable = false; - break; - - default: - Assert.fail("Unsupported conversation option type!"); - } - } - - public String getTitle() { - return mTitle; - } - - public String getSubtitle() { - return mSubtitle; - } - - public boolean getCheckable() { - return mCheckable; - } - - public boolean getChecked() { - return mChecked; - } - - public boolean getEnabled() { - return mEnabled; - } - - public int getItemId() { - return mItemId; - } - - public Uri getRingtoneUri() { - return mRingtoneUri; - } - - public ParticipantData getOtherParticipant() { - return mOtherParticipant; - } -} |