Search in sources :

Example 46 with START

use of android.support.v7.widget.helper.ItemTouchHelper.START in project RecyclerViewSnap by rubensousa.

the class GravityDelegate method findEndView.

@Nullable
private View findEndView(RecyclerView.LayoutManager layoutManager, @NonNull OrientationHelper helper) {
    if (layoutManager instanceof LinearLayoutManager) {
        LinearLayoutManager linearLayoutManager = (LinearLayoutManager) layoutManager;
        boolean reverseLayout = linearLayoutManager.getReverseLayout();
        int lastChild = reverseLayout ? linearLayoutManager.findFirstVisibleItemPosition() : linearLayoutManager.findLastVisibleItemPosition();
        int offset = 1;
        if (layoutManager instanceof GridLayoutManager) {
            offset += ((GridLayoutManager) layoutManager).getSpanCount() - 1;
        }
        if (lastChild == RecyclerView.NO_POSITION) {
            return null;
        }
        View child = layoutManager.findViewByPosition(lastChild);
        float visibleWidth;
        if (isRtlHorizontal) {
            visibleWidth = (float) helper.getDecoratedEnd(child) / helper.getDecoratedMeasurement(child);
        } else {
            visibleWidth = (float) (helper.getTotalSpace() - helper.getDecoratedStart(child)) / helper.getDecoratedMeasurement(child);
        }
        // If we're at the start of the list, we shouldn't snap
        // to avoid having the first item not completely visible.
        boolean startOfList;
        if (!reverseLayout) {
            startOfList = ((LinearLayoutManager) layoutManager).findFirstCompletelyVisibleItemPosition() == 0;
        } else {
            startOfList = ((LinearLayoutManager) layoutManager).findLastCompletelyVisibleItemPosition() == layoutManager.getItemCount() - 1;
        }
        if (visibleWidth > 0.5f && !startOfList) {
            return child;
        } else if (snapLastItem && startOfList) {
            return child;
        } else if (startOfList) {
            return null;
        } else {
            // If the child wasn't returned, we need to return the previous view
            return reverseLayout ? layoutManager.findViewByPosition(lastChild + offset) : layoutManager.findViewByPosition(lastChild - offset);
        }
    }
    return null;
}
Also used : GridLayoutManager(android.support.v7.widget.GridLayoutManager) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) Nullable(android.support.annotation.Nullable)

Example 47 with START

use of android.support.v7.widget.helper.ItemTouchHelper.START in project android by nextcloud.

the class ShareFileFragment method initEditPermissionListener.

/**
 * Binds listener for user actions that start any update the edit permissions
 * for the public link to the views receiving the user events.
 *
 * @param shareView Root view in the fragment.
 */
private void initEditPermissionListener(View shareView) {
    mOnEditPermissionInteractionListener = new OnEditPermissionInteractionListener();
    SwitchCompat permissionSwitch = (SwitchCompat) shareView.findViewById(R.id.shareViaLinkEditPermissionSwitch);
    permissionSwitch.setOnCheckedChangeListener(mOnEditPermissionInteractionListener);
    ThemeUtils.tintSwitch(permissionSwitch, ThemeUtils.primaryAccentColor());
}
Also used : SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 48 with START

use of android.support.v7.widget.helper.ItemTouchHelper.START in project orgzly-android by orgzly.

the class MainActivity method onBookRenameRequest.

@Override
public void onBookRenameRequest(final long bookId) {
    final Book book = BooksClient.get(this, bookId);
    if (book == null) {
        return;
    }
    final View dialogView = View.inflate(this, R.layout.dialog_book_rename, null);
    final TextInputLayout nameInputLayout = dialogView.findViewById(R.id.name_input_layout);
    final EditText name = dialogView.findViewById(R.id.name);
    DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> {
        switch(which) {
            case DialogInterface.BUTTON_POSITIVE:
                doRenameBook(book, name.getText().toString(), nameInputLayout);
                break;
            case DialogInterface.BUTTON_NEGATIVE:
                break;
        }
    };
    AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle(getString(R.string.rename_book, MiscUtils.quotedString(book.getName()))).setPositiveButton(R.string.rename, dialogClickListener).setNegativeButton(R.string.cancel, dialogClickListener).setView(dialogView);
    name.setText(book.getName());
    final AlertDialog dialog = builder.create();
    /* Finish on keyboard action press. */
    name.setOnEditorActionListener((v, actionId, event) -> {
        dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
        return true;
    });
    final Activity activity = this;
    dialog.setOnShowListener(d -> ActivityUtils.INSTANCE.openSoftKeyboard(activity, name));
    dialog.setOnDismissListener(d -> ActivityUtils.INSTANCE.closeSoftKeyboard(activity));
    name.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void afterTextChanged(Editable str) {
            /* Disable the button is nothing is entered. */
            dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(!TextUtils.isEmpty(str));
        }
    });
    dialog.show();
}
Also used : EditText(android.widget.EditText) NavigationView(android.support.design.widget.NavigationView) Shelf(com.orgzly.android.Shelf) Bundle(android.os.Bundle) Notifications(com.orgzly.android.Notifications) FilterFragment(com.orgzly.android.ui.fragments.FilterFragment) SearchView(android.support.v7.widget.SearchView) Uri(android.net.Uri) LocalBroadcastManager(android.support.v4.content.LocalBroadcastManager) Note(com.orgzly.android.Note) TextInputLayout(android.support.design.widget.TextInputLayout) BooksClient(com.orgzly.android.provider.clients.BooksClient) ActivityUtils(com.orgzly.android.ui.util.ActivityUtils) CheckBox(android.widget.CheckBox) Query(com.orgzly.android.query.Query) BookPrefaceFragment(com.orgzly.android.ui.fragments.BookPrefaceFragment) Handler(android.os.Handler) Map(java.util.Map) View(android.view.View) DrawerNavigationView(com.orgzly.android.ui.drawer.DrawerNavigationView) Repo(com.orgzly.android.repos.Repo) ActionMode(android.support.v7.view.ActionMode) IntentFilter(android.content.IntentFilter) Fragment(android.support.v4.app.Fragment) NotesBatch(com.orgzly.android.NotesBatch) Set(java.util.Set) BroadcastReceiver(android.content.BroadcastReceiver) ViewGroup(android.view.ViewGroup) AlertDialog(android.app.AlertDialog) TextView(android.widget.TextView) BookFragment(com.orgzly.android.ui.fragments.BookFragment) SyncFragment(com.orgzly.android.ui.fragments.SyncFragment) Book(com.orgzly.android.Book) BuildConfig(com.orgzly.BuildConfig) SimpleOneLinerDialog(com.orgzly.android.ui.dialogs.SimpleOneLinerDialog) NoteListFragment(com.orgzly.android.ui.fragments.NoteListFragment) BooksFragment(com.orgzly.android.ui.fragments.BooksFragment) Snackbar(android.support.design.widget.Snackbar) OrgDateTime(com.orgzly.org.datetime.OrgDateTime) TextWatcher(android.text.TextWatcher) DottedQueryBuilder(com.orgzly.android.query.user.DottedQueryBuilder) MiscUtils(com.orgzly.android.util.MiscUtils) Context(android.content.Context) Intent(android.content.Intent) StringRes(android.support.annotation.StringRes) NonNull(android.support.annotation.NonNull) Editable(android.text.Editable) AppPermissions(com.orgzly.android.util.AppPermissions) TypedArray(android.content.res.TypedArray) MenuItem(android.view.MenuItem) SettingsActivity(com.orgzly.android.ui.settings.SettingsActivity) ArrayList(java.util.ArrayList) GravityCompat(android.support.v4.view.GravityCompat) LinkedHashMap(java.util.LinkedHashMap) AppPreferences(com.orgzly.android.prefs.AppPreferences) NoteFragment(com.orgzly.android.ui.fragments.NoteFragment) R(com.orgzly.R) Menu(android.view.Menu) AppIntent(com.orgzly.android.AppIntent) DrawerLayout(android.support.v4.widget.DrawerLayout) FiltersFragment(com.orgzly.android.ui.fragments.FiltersFragment) DialogInterface(android.content.DialogInterface) CompoundButton(android.widget.CompoundButton) TextUtils(android.text.TextUtils) IOException(java.io.IOException) File(java.io.File) Spinner(android.widget.Spinner) Filter(com.orgzly.android.filter.Filter) ArrayAdapter(android.widget.ArrayAdapter) ReposClient(com.orgzly.android.provider.clients.ReposClient) Toolbar(android.support.v7.widget.Toolbar) Configuration(android.content.res.Configuration) Condition(com.orgzly.android.query.Condition) ActionService(com.orgzly.android.ActionService) BookName(com.orgzly.android.BookName) Activity(android.app.Activity) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) EditText(android.widget.EditText) LogUtils(com.orgzly.android.util.LogUtils) AlertDialog(android.app.AlertDialog) DialogInterface(android.content.DialogInterface) DottedQueryBuilder(com.orgzly.android.query.user.DottedQueryBuilder) SettingsActivity(com.orgzly.android.ui.settings.SettingsActivity) Activity(android.app.Activity) NavigationView(android.support.design.widget.NavigationView) SearchView(android.support.v7.widget.SearchView) View(android.view.View) DrawerNavigationView(com.orgzly.android.ui.drawer.DrawerNavigationView) TextView(android.widget.TextView) Book(com.orgzly.android.Book) TextWatcher(android.text.TextWatcher) Editable(android.text.Editable) TextInputLayout(android.support.design.widget.TextInputLayout)

Example 49 with START

use of android.support.v7.widget.helper.ItemTouchHelper.START in project boilerplate by koush.

the class ScrollingToolbarLayout method enableToolbarScrollOff.

public void enableToolbarScrollOff(final IHeaderRecyclerView headerRecyclerView, final Fragment fragment) {
    scrollOffEnabled = true;
    int extra;
    View paddingView;
    if (getChildCount() == 3)
        paddingView = getChildAt(0);
    else
        paddingView = getChildAt(getChildCount() - 1);
    if (paddingView.getLayoutParams().height > 0) {
        extra = paddingView.getLayoutParams().height;
    } else {
        // apparently this is the max size allowed
        final int SIZE_MAX = 1073741823;
        paddingView.measure(MeasureSpec.makeMeasureSpec(SIZE_MAX, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(SIZE_MAX, MeasureSpec.AT_MOST));
        extra = paddingView.getMeasuredHeight();
    }
    AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, extra);
    FrameLayout frameLayout = new FrameLayout(getContext());
    frameLayout.setLayoutParams(lp);
    headerRecyclerView.addHeaderView(0, frameLayout);
    headerRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(RecyclerView absListView, int scrollState) {
            // when scrolling stops, and the toolbar is only partially scrolled off, force to scroll bar in completely
            if (scrollState != RecyclerView.SCROLL_STATE_IDLE)
                return;
            if (absListView.getChildCount() < 1)
                return;
            int firstVisibleItem = headerRecyclerView.findFirstVisibleItemPosition();
            if (firstVisibleItem != 0)
                return;
            final View toolbarContainer = getChildAt(getChildCount() - 1);
            if (toolbarContainer.getTranslationY() <= -toolbarContainer.getHeight() || (existingToolbarYAnimation != null && existingToolbarYEnd <= toolbarContainer.getHeight()))
                return;
            toolbarScrollIn();
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            if (recyclerView.getChildCount() < 1)
                return;
            if (fragment != null && !fragment.getUserVisibleHint())
                return;
            // cancelToolbarScroll();
            final View firstView = recyclerView.getChildAt(0);
            final View toolbarContainer = getChildAt(getChildCount() - 1);
            final View backdrop;
            if (getChildCount() == 3)
                backdrop = getChildAt(0);
            else
                backdrop = null;
            final int toolbarHeight = toolbarContainer.getHeight();
            int firstVisibleItem = headerRecyclerView.findFirstVisibleItemPosition();
            if (backdrop != null) {
                int newBackdropHeight;
                int backdropHeight = getResources().getDimensionPixelSize(R.dimen.icon_list_drawer_activity_backdrop_height);
                if (firstVisibleItem >= 1) {
                    newBackdropHeight = toolbarHeight;
                } else {
                    newBackdropHeight = firstView.getTop() + backdropHeight;
                }
                newBackdropHeight = Math.max(newBackdropHeight, toolbarHeight);
                FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) backdrop.getLayoutParams();
                lp.height = newBackdropHeight;
                // another option is to use y translation to not do parallax
                backdrop.setLayoutParams(lp);
                if (newBackdropHeight / (float) backdropHeight < .5f) {
                    toolbarFadeToPrimary();
                } else {
                    toolbarFadeToTranslucent();
                }
            }
            if (firstVisibleItem == 0) {
                int remainder = firstView.getHeight() + firstView.getTop();
                // if there's less than toolbar height left, start scrolling off.
                if (remainder < toolbarHeight) {
                    remainder = toolbarHeight - remainder;
                    if (existingToolbarYAnimation == null) {
                        float diff = -remainder - toolbarContainer.getTranslationY();
                        if (false && Math.abs(diff) > toolbarHeight / 4) {
                            if (toolbarContainer.getTranslationY() < -remainder) {
                                // scrolling down
                                toolbarScrollIn();
                            } else {
                                // scrolling up
                                toolbarScrollOut();
                            }
                        } else {
                            toolbarContainer.setTranslationY(-remainder);
                        }
                    }
                    if (backdrop != null)
                        backdrop.setTranslationY(-remainder);
                } else {
                    cancelToolbarScroll();
                    toolbarContainer.setTranslationY(0);
                    // toolbarScrollIn();
                    if (backdrop != null)
                        backdrop.setTranslationY(0);
                }
                return;
            }
            if (firstVisibleItem == 1) {
                cancelToolbarScroll();
                toolbarContainer.setTranslationY(-toolbarHeight);
            } else {
                toolbarScrollOut();
            }
            if (backdrop != null)
                backdrop.setTranslationY(-toolbarHeight);
        }
    });
    if (getChildCount() == 3)
        toolbarFadeToTranslucent();
}
Also used : FrameLayout(android.widget.FrameLayout) AbsListView(android.widget.AbsListView) RecyclerView(android.support.v7.widget.RecyclerView) IHeaderRecyclerView(com.koushikdutta.boilerplate.recyclerview.IHeaderRecyclerView) AbsListView(android.widget.AbsListView) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) IHeaderRecyclerView(com.koushikdutta.boilerplate.recyclerview.IHeaderRecyclerView)

Example 50 with START

use of android.support.v7.widget.helper.ItemTouchHelper.START in project twicalico by moko256.

the class PostActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post);
    model = PostTweetModelCreator.getInstance(GlobalApplication.twitter, getContentResolver());
    subscription = new CompositeSubscription();
    rootViewGroup = findViewById(R.id.activity_tweet_send_layout_root);
    toolbar = findViewById(R.id.activity_tweet_send_toolbar);
    setSupportActionBar(toolbar);
    actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setHomeAsUpIndicator(R.drawable.ic_clear_white_24dp);
    userIcon = findViewById(R.id.activity_tweet_send_user_icon);
    GlideApp.with(this).load(GlobalApplication.userCache.get(GlobalApplication.userId).get400x400ProfileImageURLHttps()).circleCrop().into(userIcon);
    counterTextView = findViewById(R.id.tweet_text_edit_counter);
    editText = findViewById(R.id.tweet_text_edit);
    editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            model.setTweetText(s.toString());
            counterTextView.setText(String.valueOf(model.getTweetLength()) + " / " + String.valueOf(model.getMaxTweetLength()));
            counterTextView.setTextColor(model.isValidTweet() ? Color.GRAY : Color.RED);
        }

        @Override
        public void afterTextChanged(Editable s) {
        }
    });
    editText.setImageAddedListener(imageUri -> {
        if (model.getUriList().size() < model.getUriListSizeLimit()) {
            addedImagesAdapter.getImagesList().add(imageUri);
            model.getUriList().add(imageUri);
            addedImagesAdapter.notifyItemChanged(addedImagesAdapter.getImagesList().size() - 1);
            possiblySensitiveSwitch.setEnabled(true);
            return true;
        } else {
            return false;
        }
    });
    editText.setHint(model.isReply() ? R.string.reply : R.string.post);
    imagesRecyclerView = findViewById(R.id.activity_tweet_send_images_recycler_view);
    addedImagesAdapter = new AddedImagesAdapter(this);
    imagesRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    imagesRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {

        @Override
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
            outRect.right = Math.round(getResources().getDisplayMetrics().density);
        }
    });
    addedImagesAdapter.setLimit(model.getUriListSizeLimit());
    addedImagesAdapter.setOnAddButtonClickListener(v -> startActivityForResult(Intent.createChooser(new Intent(Intent.ACTION_GET_CONTENT).addCategory(Intent.CATEGORY_OPENABLE).putExtra(Intent.EXTRA_MIME_TYPES, new String[] { "image/*", "video/*" }).putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true).setType("*/*"), getString(R.string.add_image)), REQUEST_GET_IMAGE));
    addedImagesAdapter.setOnDeleteButtonListener(position -> {
        addedImagesAdapter.getImagesList().remove(position);
        model.getUriList().remove(position);
        addedImagesAdapter.notifyDataSetChanged();
        boolean enabled = model.getUriList().size() > 0;
        possiblySensitiveSwitch.setEnabled(enabled);
        possiblySensitiveSwitch.setChecked(possiblySensitiveSwitch.isChecked() && enabled);
    });
    addedImagesAdapter.setOnImageClickListener(position -> {
        Intent open = new Intent(Intent.ACTION_VIEW).setData(model.getUriList().get(position)).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        startActivity(Intent.createChooser(open, getString(R.string.open_image)));
    });
    imagesRecyclerView.setAdapter(addedImagesAdapter);
    possiblySensitiveSwitch = findViewById(R.id.activity_tweet_possibly_sensitive_switch);
    possiblySensitiveSwitch.setEnabled(addedImagesAdapter.getImagesList().size() > 0);
    possiblySensitiveSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> model.setPossiblySensitive(isChecked));
    addLocationSwitch = findViewById(R.id.activity_tweet_location_switch);
    addLocationSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
        if (isChecked) {
            if (PermissionChecker.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PermissionChecker.PERMISSION_GRANTED) {
                subscription.add(getLocation().subscribe(it -> {
                    model.setLocation(new GeoLocation(it.getLatitude(), it.getLongitude()));
                    locationText.setVisibility(View.VISIBLE);
                    locationText.setText(getString(R.string.lat_and_lon, it.getLatitude(), it.getLongitude()));
                }, Throwable::printStackTrace));
            } else {
                ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, 400);
            }
        } else {
            locationText.setVisibility(View.GONE);
        }
    });
    locationText = findViewById(R.id.activity_tweet_location_result);
    locationText.setVisibility(View.GONE);
    if (getIntent() != null) {
        if (!model.isReply()) {
            model.setInReplyToStatusId(getIntent().getLongExtra(INTENT_EXTRA_IN_REPLY_TO_STATUS_ID, -1));
        }
        String text = getIntent().getStringExtra(INTENT_EXTRA_TWEET_TEXT);
        if (text != null) {
            editText.setText(text);
            editText.setSelection(text.length());
        } else {
            editText.setText("");
        }
        ArrayList<Uri> uris = getIntent().getParcelableArrayListExtra(INTENT_EXTRA_IMAGE_URI);
        if (uris != null) {
            addedImagesAdapter.getImagesList().addAll(uris);
            model.getUriList().addAll(uris);
            possiblySensitiveSwitch.setEnabled(true);
        }
    }
}
Also used : Context(android.content.Context) Rect(android.graphics.Rect) Bundle(android.os.Bundle) PostTweetModel(com.github.moko256.twicalico.model.base.PostTweetModel) Criteria(android.location.Criteria) Uri(android.net.Uri) ImageView(android.widget.ImageView) AndroidSchedulers(rx.android.schedulers.AndroidSchedulers) Intent(android.content.Intent) NonNull(android.support.annotation.NonNull) LocationListener(android.location.LocationListener) TwitterStringUtils(com.github.moko256.twicalico.text.TwitterStringUtils) Editable(android.text.Editable) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) ClipData(android.content.ClipData) Manifest(android.Manifest) ImageKeyboardEditText(com.github.moko256.twicalico.widget.ImageKeyboardEditText) Single(rx.Single) Menu(android.view.Menu) Schedulers(rx.schedulers.Schedulers) View(android.view.View) ActionBar(android.support.v7.app.ActionBar) Parcelable(android.os.Parcelable) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) SwitchCompat(android.support.v7.widget.SwitchCompat) ActivityCompat(android.support.v4.app.ActivityCompat) AppCompatActivity(android.support.v7.app.AppCompatActivity) ViewGroup(android.view.ViewGroup) Color(android.graphics.Color) CompositeSubscription(rx.subscriptions.CompositeSubscription) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) Toolbar(android.support.v7.widget.Toolbar) GeoLocation(twitter4j.GeoLocation) PermissionChecker(android.support.v4.content.PermissionChecker) Location(android.location.Location) Snackbar(android.support.design.widget.Snackbar) PostTweetModelCreator(com.github.moko256.twicalico.model.impl.PostTweetModelCreator) LocationManager(android.location.LocationManager) TextWatcher(android.text.TextWatcher) Rect(android.graphics.Rect) Intent(android.content.Intent) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) Uri(android.net.Uri) CompositeSubscription(rx.subscriptions.CompositeSubscription) TextWatcher(android.text.TextWatcher) Editable(android.text.Editable) RecyclerView(android.support.v7.widget.RecyclerView) GeoLocation(twitter4j.GeoLocation)

Aggregations

View (android.view.View)367 RecyclerView (android.support.v7.widget.RecyclerView)271 TextView (android.widget.TextView)175 Intent (android.content.Intent)109 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)84 Toolbar (android.support.v7.widget.Toolbar)77 TextWatcher (android.text.TextWatcher)77 Editable (android.text.Editable)76 ImageView (android.widget.ImageView)76 ArrayList (java.util.ArrayList)68 Bundle (android.os.Bundle)48 DialogInterface (android.content.DialogInterface)47 AlertDialog (android.support.v7.app.AlertDialog)47 AdapterView (android.widget.AdapterView)46 EditText (android.widget.EditText)42 SuppressLint (android.annotation.SuppressLint)39 Button (android.widget.Button)39 ActionBar (android.support.v7.app.ActionBar)34 List (java.util.List)34 ViewPropertyAnimatorCompat (android.support.v4.view.ViewPropertyAnimatorCompat)33