List of usage examples for android.support.v4.util SimpleArrayMap valueAt
public V valueAt(int i)
From source file:Main.java
public static <T> void addValues(SimpleArrayMap<?, T> map, List<T> target) { int N = map.size(); for (int i = 0; i < N; i++) { T p = map.valueAt(i); target.add(p);//w ww. j a va 2 s . c o m } }
From source file:com.google.android.gcm.demo.ui.GroupsFragment.java
@Override public void refresh() { float density = getActivity().getResources().getDisplayMetrics().density; SimpleArrayMap<String, Sender> senders = mSenders.getSenders(); LinearLayout sendersList = new LinearLayout(getActivity()); sendersList.setOrientation(LinearLayout.VERTICAL); for (int i = 0; i < senders.size(); i++) { Sender sender = senders.valueAt(i); if (sender.groups.size() > 0) { LinearLayout senderRow = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView senderIcon = (ImageView) senderRow.findViewById(R.id.widget_itbr_icon); TextView senderText = (TextView) senderRow.findViewById(R.id.widget_itbr_text); senderRow.findViewById(R.id.widget_itbr_button).setVisibility(View.GONE); senderIcon.setImageResource(R.drawable.cloud_googblue); senderIcon.setPadding(0, 0, (int) (8 * density), 0); senderText.setText(getString(R.string.groups_sender_id, sender.senderId)); sendersList.addView(senderRow); for (DeviceGroup deviceGroup : sender.groups.values()) { LinearLayout row = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView icon = (ImageView) row.findViewById(R.id.widget_itbr_icon); TextView label = (TextView) row.findViewById(R.id.widget_itbr_text); Button button = (Button) row.findViewById(R.id.widget_itbr_button); icon.setImageResource(R.drawable.group_grey600); label.setText(deviceGroup.notificationKeyName); label.setBackgroundResource(selectableBackgroundResource); label.setTag(R.id.tag_action, ACTION_OPEN_GROUP); label.setTag(R.id.tag_senderid, sender.senderId); label.setTag(R.id.tag_group, deviceGroup.notificationKeyName); label.setOnClickListener(this); button.setText(R.string.groups_delete); button.setTag(R.id.tag_action, ACTION_DELETE_GROUP); button.setTag(R.id.tag_senderid, sender.senderId); button.setTag(R.id.tag_group, deviceGroup.notificationKeyName); button.setOnClickListener(this); row.setPadding((int) (16 * density), 0, 0, 0); sendersList.addView(row); }/*from ww w. j av a 2s . c om*/ } } if (sendersList.getChildCount() == 0) { TextView noTokens = new TextView(getActivity()); noTokens.setText(getString(R.string.groups_no_groups_available)); noTokens.setTypeface(null, Typeface.ITALIC); sendersList.addView(noTokens); } FrameLayout topicsView = (FrameLayout) getActivity().findViewById(R.id.groups_list_wrapper); topicsView.removeAllViews(); topicsView.addView(sendersList); }
From source file:com.google.android.gcm.demo.ui.TopicsFragment.java
@Override public void refresh() { float density = getActivity().getResources().getDisplayMetrics().density; SimpleArrayMap<String, Sender> addressBook = mSenders.getSenders(); LinearLayout sendersList = new LinearLayout(getActivity()); sendersList.setOrientation(LinearLayout.VERTICAL); for (int i = 0; i < addressBook.size(); i++) { Sender sender = addressBook.valueAt(i); // Check if at least a topic is subscribed for this sender int subscribedTopics = 0; for (Boolean subscribed : sender.topics.values()) { if (subscribed) { subscribedTopics++;//from w w w. ja v a2s . c om } } if (subscribedTopics > 0) { LinearLayout senderRow = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView senderIcon = (ImageView) senderRow.findViewById(R.id.widget_itbr_icon); TextView senderLabel = (TextView) senderRow.findViewById(R.id.widget_itbr_text); senderRow.findViewById(R.id.widget_itbr_button).setVisibility(View.GONE); senderIcon.setImageResource(R.drawable.cloud_googblue); senderIcon.setPadding(0, 0, (int) (8 * density), 0); senderLabel.setText(getString(R.string.topics_sender_id, sender.senderId)); sendersList.addView(senderRow); for (Map.Entry<String, Boolean> topic : sender.topics.entrySet()) { if (topic.getValue()) { LinearLayout row = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView icon = (ImageView) row.findViewById(R.id.widget_itbr_icon); TextView label = (TextView) row.findViewById(R.id.widget_itbr_text); Button button = (Button) row.findViewById(R.id.widget_itbr_button); icon.setImageResource(R.drawable.bigtop_updates_grey600); label.setText(topic.getKey()); button.setText(R.string.topics_unsubscribe); button.setTag(R.id.tag_action, ACTION_UNSUBSCRIBE); button.setTag(R.id.tag_senderid, sender.senderId); button.setTag(R.id.tag_topic, topic.getKey()); button.setOnClickListener(this); row.setPadding((int) (16 * density), 0, 0, 0); sendersList.addView(row); } } } } if (sendersList.getChildCount() == 0) { TextView noTokens = new TextView(getActivity()); noTokens.setText(getString(R.string.topics_no_topic_subscribed)); noTokens.setTypeface(null, Typeface.ITALIC); sendersList.addView(noTokens); } FrameLayout topicsView = (FrameLayout) getActivity().findViewById(R.id.topics_list_wrapper); topicsView.removeAllViews(); topicsView.addView(sendersList); }
From source file:com.google.android.gcm.demo.ui.InstanceIdFragment.java
@Override public void refresh() { new AsyncTask<Void, Void, Void>() { @Override//from ww w .ja v a 2s.c om protected Void doInBackground(Void... params) { final String instanceId = mInstanceIdHelper.getInstanceId(); final String creationTime = DateFormat.getDateTimeInstance() .format(new Date(mInstanceIdHelper.getCreationTime())); final Activity activity = getActivity(); if (activity != null) { Handler handler = new Handler(activity.getMainLooper()); handler.post(new Runnable() { public void run() { setValue(activity.findViewById(R.id.iid_instance_id), instanceId); setValue(activity.findViewById(R.id.iid_creation_time), creationTime); } }); } return null; } }.execute(); float density = getActivity().getResources().getDisplayMetrics().density; SimpleArrayMap<String, Sender> addressBook = mSenders.getSenders(); LinearLayout sendersList = new LinearLayout(getActivity()); sendersList.setOrientation(LinearLayout.VERTICAL); for (int i = 0; i < addressBook.size(); i++) { Sender sender = addressBook.valueAt(i); if (sender.appTokens.size() > 0) { LinearLayout senderRow = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView senderIcon = (ImageView) senderRow.findViewById(R.id.widget_itbr_icon); TextView senderLabel = (TextView) senderRow.findViewById(R.id.widget_itbr_text); senderRow.findViewById(R.id.widget_itbr_button).setVisibility(View.GONE); senderIcon.setImageResource(R.drawable.cloud_googblue); senderIcon.setPadding(0, 0, (int) (8 * density), 0); senderLabel.setText(getString(R.string.topics_sender_id, sender.senderId)); sendersList.addView(senderRow); for (Token token : sender.appTokens.values()) { LinearLayout row = (LinearLayout) getActivity().getLayoutInflater() .inflate(R.layout.widget_icon_text_button_row, sendersList, false); ImageView icon = (ImageView) row.findViewById(R.id.widget_itbr_icon); TextView label = (TextView) row.findViewById(R.id.widget_itbr_text); Button button = (Button) row.findViewById(R.id.widget_itbr_button); icon.setImageResource(R.drawable.smartphone_grey600); label.setText(token.scope + " - " + AbstractFragment.truncateToMediumString(token.token)); button.setText(R.string.iid_delete_token); button.setTag(R.id.tag_senderid, sender.senderId); button.setTag(R.id.tag_scope, token.scope); button.setOnClickListener(this); row.setPadding((int) (16 * density), 0, 0, 0); sendersList.addView(row); } } } if (sendersList.getChildCount() == 0) { TextView noTokens = new TextView(getActivity()); noTokens.setText(getString(R.string.iid_no_tokens)); noTokens.setTypeface(null, Typeface.ITALIC); sendersList.addView(noTokens); } FrameLayout tokensView = (FrameLayout) getActivity().findViewById(R.id.iid_tokens_wrapper); tokensView.removeAllViews(); tokensView.addView(sendersList); }
From source file:com.google.android.gcm.demo.ui.NetworkSchedulerFragment.java
@Override public void refresh() { FrameLayout tasksView = (FrameLayout) getActivity().findViewById(R.id.scheduler_tasks); // the view might have been destroyed, in which case we don't do anything if (tasksView != null) { float density = getActivity().getResources().getDisplayMetrics().density; SimpleArrayMap<String, TaskTracker> tasks = mTasks.getTasks(); LinearLayout tasksList = new LinearLayout(getActivity()); tasksList.setOrientation(LinearLayout.VERTICAL); for (int i = 0; i < tasks.size(); i++) { final TaskTracker task = tasks.valueAt(i); CardView taskCard = (CardView) getActivity().getLayoutInflater().inflate(R.layout.widget_task, tasksList, false);// w w w . ja va2s .co m ImageView taskIcon = (ImageView) taskCard.findViewById(R.id.task_icon); taskIcon.setImageResource(R.drawable.check_circle_grey600); taskIcon.setPadding(0, 0, (int) (8 * density), 0); TextView taskLabel = (TextView) taskCard.findViewById(R.id.task_title); TextView taskParams = (TextView) taskCard.findViewById(R.id.task_params); if (task.period == 0) { taskLabel.setText(getString(R.string.scheduler_oneoff, task.tag)); taskParams.setText(getString(R.string.scheduler_oneoff_params, task.windowStartElapsedSecs, task.windowStopElapsedSecs)); } else { taskLabel.setText(getString(R.string.scheduler_periodic, task.tag)); taskParams.setText(getString(R.string.scheduler_periodic_params, task.period, task.flex)); } TextView taskCreatedAt = (TextView) taskCard.findViewById(R.id.task_created_at); taskCreatedAt.setText(getString(R.string.scheduler_secs_ago, DateUtils .formatElapsedTime(SystemClock.elapsedRealtime() / 1000 - task.createdAtElapsedSecs))); TextView lastExecuted = (TextView) taskCard.findViewById(R.id.task_last_exec); if (task.executionTimes.isEmpty()) { lastExecuted.setText(getString(R.string.scheduler_na)); } else { long lastExecTime = task.executionTimes.get(task.executionTimes.size() - 1); lastExecuted.setText(getString(R.string.scheduler_secs_ago, DateUtils.formatElapsedTime(SystemClock.elapsedRealtime() / 1000 - lastExecTime))); } TextView state = (TextView) taskCard.findViewById(R.id.task_state); if (task.isCancelled()) { state.setText(getString(R.string.scheduler_cancelled)); } else if (task.isExecuted()) { state.setText(getString(R.string.scheduler_executed)); } else { state.setText(getString(R.string.scheduler_pending)); } Button cancel = (Button) taskCard.findViewById(R.id.task_cancel); cancel.setVisibility(View.VISIBLE); cancel.setText(R.string.scheduler_cancel); Button delete = (Button) taskCard.findViewById(R.id.task_delete); delete.setVisibility(View.VISIBLE); delete.setText(R.string.scheduler_delete); if (!task.isCancelled() && (!task.isExecuted() || task.period != 0)) { cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { cancelTask(task.tag); refresh(); } }); cancel.setEnabled(true); delete.setEnabled(false); } else { cancel.setEnabled(false); delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mTasks.deleteTask(task.tag); refresh(); } }); delete.setEnabled(true); } tasksList.addView(taskCard); } tasksView.removeAllViews(); tasksView.addView(tasksList); } }
From source file:com.facebook.litho.DataFlowTransitionManager.java
private void setAppearFromValues() { SimpleArrayMap<ComponentProperty, RuntimeValue> appearFromValues = new SimpleArrayMap<>(); for (int i = 0, size = mAnimationBindings.size(); i < size; i++) { final AnimationBinding binding = mAnimationBindings.get(i); binding.collectAppearFromValues(appearFromValues); }/*from ww w . java 2s . c o m*/ for (int i = 0, size = appearFromValues.size(); i < size; i++) { final ComponentProperty property = appearFromValues.keyAt(i); final RuntimeValue runtimeValue = appearFromValues.valueAt(i); final AnimationState animationState = mAnimationStates.get(property.getTransitionKey()); final float value = runtimeValue.resolve(mResolver, property); property.getProperty().set(animationState.mountItem, value); if (animationState.changeType != KeyStatus.APPEARED) { throw new RuntimeException("Wrong transition type for appear of key " + property.getTransitionKey() + ": " + keyStatusToString(animationState.changeType)); } animationState.currentDiff.beforeValues.put(property.getProperty(), value); } }
From source file:com.facebook.litho.DataFlowTransitionManager.java
private void setDisappearToValues() { SimpleArrayMap<ComponentProperty, RuntimeValue> disappearToValues = new SimpleArrayMap<>(); for (int i = 0, size = mAnimationBindings.size(); i < size; i++) { final AnimationBinding binding = mAnimationBindings.get(i); binding.collectDisappearToValues(disappearToValues); }// w w w . j ava2s . c om for (int i = 0, size = disappearToValues.size(); i < size; i++) { final ComponentProperty property = disappearToValues.keyAt(i); final RuntimeValue runtimeValue = disappearToValues.valueAt(i); final AnimationState animationState = mAnimationStates.get(property.getTransitionKey()); if (animationState.changeType != KeyStatus.DISAPPEARED) { throw new RuntimeException("Wrong transition type for disappear of key " + property.getTransitionKey() + ": " + keyStatusToString(animationState.changeType)); } final float value = runtimeValue.resolve(mResolver, property); animationState.currentDiff.afterValues.put(property.getProperty(), value); } }
From source file:com.android.messaging.datamodel.BugleDatabaseOperations.java
/** * Update draft message for specified conversation * @param dbWrapper local database (wrapped) * @param conversationId conversation to update * @param message Optional message to preserve attachments for (either as draft or for * sending)//from w ww . ja v a2 s . co m * @param updateMode either {@link #UPDATE_MODE_CLEAR_DRAFT} or * {@link #UPDATE_MODE_ADD_DRAFT} * @return message id of newly written draft (else null) */ @DoesNotRunOnMainThread public static String updateDraftMessageData(final DatabaseWrapper dbWrapper, final String conversationId, @Nullable final MessageData message, final int updateMode) { Assert.isNotMainThread(); Assert.notNull(conversationId); Assert.inRange(updateMode, UPDATE_MODE_CLEAR_DRAFT, UPDATE_MODE_ADD_DRAFT); String messageId = null; Cursor cursor = null; dbWrapper.beginTransaction(); try { // Find all draft parts for the current conversation final SimpleArrayMap<Uri, MessagePartData> currentDraftParts = new SimpleArrayMap<>(); cursor = dbWrapper.query(DatabaseHelper.DRAFT_PARTS_VIEW, MessagePartData.getProjection(), MessageColumns.CONVERSATION_ID + " =?", new String[] { conversationId }, null, null, null); while (cursor.moveToNext()) { final MessagePartData part = MessagePartData.createFromCursor(cursor); if (part.isAttachment()) { currentDraftParts.put(part.getContentUri(), part); } } // Optionally, preserve attachments for "message" final boolean conversationExists = getConversationExists(dbWrapper, conversationId); if (message != null && conversationExists) { for (final MessagePartData part : message.getParts()) { if (part.isAttachment()) { currentDraftParts.remove(part.getContentUri()); } } } // Delete orphan content for (int index = 0; index < currentDraftParts.size(); index++) { final MessagePartData part = currentDraftParts.valueAt(index); part.destroySync(); } // Delete existing draft (cascade deletes parts) dbWrapper.delete(DatabaseHelper.MESSAGES_TABLE, MessageColumns.STATUS + "=? AND " + MessageColumns.CONVERSATION_ID + "=?", new String[] { Integer.toString(MessageData.BUGLE_STATUS_OUTGOING_DRAFT), conversationId }); // Write new draft if (updateMode == UPDATE_MODE_ADD_DRAFT && message != null && message.hasContent() && conversationExists) { Assert.equals(MessageData.BUGLE_STATUS_OUTGOING_DRAFT, message.getStatus()); // Now add draft to message table insertNewMessageInTransaction(dbWrapper, message); messageId = message.getMessageId(); } if (conversationExists) { updateConversationDraftSnippetAndPreviewInTransaction(dbWrapper, conversationId, message); if (message != null && message.getSelfId() != null) { updateConversationSelfIdInTransaction(dbWrapper, conversationId, message.getSelfId()); } } dbWrapper.setTransactionSuccessful(); } finally { dbWrapper.endTransaction(); if (cursor != null) { cursor.close(); } } if (LogUtil.isLoggable(TAG, LogUtil.VERBOSE)) { LogUtil.v(TAG, "Updated draft message " + messageId + " for conversation " + conversationId); } return messageId; }