summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/ui/mediapicker/MediaChooser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/ui/mediapicker/MediaChooser.java')
-rw-r--r--src/com/android/messaging/ui/mediapicker/MediaChooser.java216
1 files changed, 0 insertions, 216 deletions
diff --git a/src/com/android/messaging/ui/mediapicker/MediaChooser.java b/src/com/android/messaging/ui/mediapicker/MediaChooser.java
deleted file mode 100644
index 9ac0d1b..0000000
--- a/src/com/android/messaging/ui/mediapicker/MediaChooser.java
+++ /dev/null
@@ -1,216 +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.ui.mediapicker;
-
-import android.app.FragmentManager;
-import android.content.Context;
-import android.support.v7.app.ActionBar;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageButton;
-
-import com.android.messaging.R;
-import com.android.messaging.datamodel.binding.ImmutableBindingRef;
-import com.android.messaging.datamodel.data.MediaPickerData;
-import com.android.messaging.datamodel.data.DraftMessageData.DraftMessageSubscriptionDataProvider;
-import com.android.messaging.ui.BasePagerViewHolder;
-import com.android.messaging.util.Assert;
-import com.android.messaging.util.OsUtil;
-
-abstract class MediaChooser extends BasePagerViewHolder
- implements DraftMessageSubscriptionDataProvider {
- /** The media picker that the chooser is hosted in */
- protected final MediaPicker mMediaPicker;
-
- /** Referencing the main media picker binding to perform data loading */
- protected final ImmutableBindingRef<MediaPickerData> mBindingRef;
-
- /** True if this is the selected chooser */
- protected boolean mSelected;
-
- /** True if this chooser is open */
- protected boolean mOpen;
-
- /** The button to show in the tab strip */
- private ImageButton mTabButton;
-
- /** Used by subclasses to indicate that no loader is required from the data model in order for
- * this chooser to function.
- */
- public static final int NO_LOADER_REQUIRED = -1;
-
- /**
- * Initializes a new instance of the Chooser class
- * @param mediaPicker The media picker that the chooser is hosted in
- */
- MediaChooser(final MediaPicker mediaPicker) {
- Assert.notNull(mediaPicker);
- mMediaPicker = mediaPicker;
- mBindingRef = mediaPicker.getMediaPickerDataBinding();
- mSelected = false;
- }
-
- protected void setSelected(final boolean selected) {
- mSelected = selected;
- if (selected) {
- // If we're selected, it must be open
- mOpen = true;
- }
- if (mTabButton != null) {
- mTabButton.setSelected(selected);
- mTabButton.setAlpha(selected ? 1 : 0.5f);
- }
- }
-
- ImageButton getTabButton() {
- return mTabButton;
- }
-
- void onCreateTabButton(final LayoutInflater inflater, final ViewGroup parent) {
- mTabButton = (ImageButton) inflater.inflate(
- R.layout.mediapicker_tab_button,
- parent,
- false /* addToParent */);
- mTabButton.setImageResource(getIconResource());
- mTabButton.setContentDescription(
- inflater.getContext().getResources().getString(getIconDescriptionResource()));
- setSelected(mSelected);
- mTabButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(final View view) {
- mMediaPicker.selectChooser(MediaChooser.this);
- }
- });
- }
-
- protected Context getContext() {
- return mMediaPicker.getActivity();
- }
-
- protected FragmentManager getFragmentManager() {
- return OsUtil.isAtLeastJB_MR1() ? mMediaPicker.getChildFragmentManager() :
- mMediaPicker.getFragmentManager();
- }
- protected LayoutInflater getLayoutInflater() {
- return LayoutInflater.from(getContext());
- }
-
- /** Allows the chooser to handle full screen change */
- void onFullScreenChanged(final boolean fullScreen) {}
-
- /** Allows the chooser to handle the chooser being opened or closed */
- void onOpenedChanged(final boolean open) {
- mOpen = open;
- }
-
- /** @return The bit field of media types that this chooser can pick */
- public abstract int getSupportedMediaTypes();
-
- /** @return The resource id of the icon for the chooser */
- abstract int getIconResource();
-
- /** @return The resource id of the string to use for the accessibility text of the icon */
- abstract int getIconDescriptionResource();
-
- /**
- * Sets up the action bar to show the current state of the full-screen chooser
- * @param actionBar The action bar to populate
- */
- void updateActionBar(final ActionBar actionBar) {
- final int actionBarTitleResId = getActionBarTitleResId();
- if (actionBarTitleResId == 0) {
- actionBar.hide();
- } else {
- actionBar.setCustomView(null);
- actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE);
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.show();
- // Use X instead of <- in the action bar
- actionBar.setHomeAsUpIndicator(R.drawable.ic_remove_small_light);
- actionBar.setTitle(actionBarTitleResId);
- }
- }
-
- /**
- * Returns the resource Id used for the action bar title.
- */
- abstract int getActionBarTitleResId();
-
- /**
- * Throws an exception if the media chooser object doesn't require data support.
- */
- public void onDataUpdated(final Object data, final int loaderId) {
- throw new IllegalStateException();
- }
-
- /**
- * Called by the MediaPicker to determine whether this panel can be swiped down further. If
- * not, then a swipe down gestured will be captured by the MediaPickerPanel to shrink the
- * entire panel.
- */
- public boolean canSwipeDown() {
- return false;
- }
-
- /**
- * Typically the media picker is closed when the IME is opened, but this allows the chooser to
- * specify that showing the IME is okay while the chooser is up
- */
- public boolean canShowIme() {
- return false;
- }
-
- public boolean onBackPressed() {
- return false;
- }
-
- public void onCreateOptionsMenu(final MenuInflater inflater, final Menu menu) {
- }
-
- public boolean onOptionsItemSelected(final MenuItem item) {
- return false;
- }
-
- public void setThemeColor(final int color) {
- }
-
- /**
- * Returns true if the chooser is owning any incoming touch events, so that the media picker
- * panel won't process it and slide the panel.
- */
- public boolean isHandlingTouch() {
- return false;
- }
-
- public void stopTouchHandling() {
- }
-
- @Override
- public int getConversationSelfSubId() {
- return mMediaPicker.getConversationSelfSubId();
- }
-
- /** Optional activity life-cycle methods to be overridden by subclasses */
- public void onPause() { }
- public void onResume() { }
- protected void onRequestPermissionsResult(
- final int requestCode, final String permissions[], final int[] grantResults) { }
-}