diff options
Diffstat (limited to 'src/com/android/messaging/ui/mediapicker/MediaChooser.java')
-rw-r--r-- | src/com/android/messaging/ui/mediapicker/MediaChooser.java | 216 |
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) { } -} |