/** Returns a matcher that matches TextInputLayouts with non-displayed password toggles */ public static Matcher<View> passwordToggleIsNotChecked() { return new TypeSafeMatcher<View>(TextInputLayout.class) { @Override public void describeTo(Description description) { description.appendText("TextInputLayout has checked password toggle."); } @Override protected boolean matchesSafely(View item) { // Reach in and find the password toggle since we don't have a public API // to get a reference to it CheckableImageButton passwordToggle = item.findViewById(R.id.text_input_password_toggle); return !passwordToggle.isChecked(); } }; }
public void setupUI(View view) { // Set up touch listener for non-text box views to hide keyboard. // We should also ignore "show password" icon if (!(view instanceof EditText) && !(view instanceof CheckableImageButton)) { view.setOnTouchListener((v, event) -> { hideKeyboard(); return false; }); } //If a layout container, iterate over children and seed recursion. if (view instanceof ViewGroup) { for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) { View innerView = ((ViewGroup) view).getChildAt(i); setupUI(innerView); } } }
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { viewBaseMapButton = (CheckableImageButton) view.findViewById(R.id.view_base_map_button); viewBaseMapButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { modeWithBaseMap = !modeWithBaseMap; showMapImage(modeWithBaseMap); } }); showMapImage(modeWithBaseMap); }
private IInterpretationViewHolder onCreateContentViewHolder(ViewGroup parent, int viewType) { switch (viewType) { case ITEM_WITH_IMAGE_TYPE: { View rootView = getLayoutInflater().inflate( R.layout.recycler_view_dashboard_item_imageview, parent, false); ImageView imageView = (ImageView) rootView.findViewById(R.id.dashboard_item_image); CheckableImageButton modeButton = (CheckableImageButton) rootView.findViewById(R.id.view_mode_button); return new ImageItemViewHolder(rootView,modeButton, imageView, mClickListener); } case ITEM_WITH_TABLE_TYPE: { TextView textView = (TextView) getLayoutInflater() .inflate(R.layout.recycler_view_dashboard_item_textview, parent, false); return new TextItemViewHolder(textView, mClickListener); } } return null; }
public ImageItemViewHolder(View rootView, CheckableImageButton modeButton, ImageView view, OnItemClickListener outerListener) { this.rootView = rootView; this.imageView = view; this.modeButton = modeButton; mImageLoader = PicassoProvider.getInstance(rootView.getContext(), false); listener = new OnInterpretationInternalClickListener(outerListener); imageView.setOnClickListener(listener); modeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { modeWithBaseMap = !modeWithBaseMap; showMapImage(modeWithBaseMap); } }); }
public ImageItemViewHolder(View rootView, CheckableImageButton modeButton, ImageView view, OnItemClickListener outerListener) { this.rootView = rootView; this.imageView = view; this.modeButton = modeButton; mImageLoader = PicassoProvider.getInstance(rootView.getContext(), false); listener = new OnElementInternalClickListener(outerListener); imageView.setOnClickListener(listener); modeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { modeWithBaseMap = !modeWithBaseMap; showMapImage(modeWithBaseMap); } }); }
/** * Depending on viewType, this method will return correct IElementContentViewHolder. * * * @param rootView * @param parent Parent ViewGroup. * @param viewType Type of view we want to get IElementContentViewHolder for. * @return view holder. */ private IElementContentViewHolder onCreateElementContentViewHolder( ViewGroup parent, int viewType) { switch (viewType) { case ITEM_WITH_IMAGE_TYPE: { View rootView = getLayoutInflater().inflate( R.layout.recycler_view_dashboard_item_imageview, parent, false); ImageView imageView = (ImageView) rootView.findViewById(R.id.dashboard_item_image); CheckableImageButton modeButton = (CheckableImageButton) rootView.findViewById(R.id.view_mode_button); return new ImageItemViewHolder(rootView,modeButton, imageView, mClickListener); } case ITEM_WITH_TABLE_TYPE: { TextView textView = (TextView) getLayoutInflater() .inflate(R.layout.recycler_view_dashboard_item_textview, parent, false); return new TextItemViewHolder(textView, mClickListener); } case ITEM_WITH_LIST_TYPE: { LinearLayout textViewContainer = (LinearLayout) getLayoutInflater() .inflate(R.layout.recycler_view_dashboard_item_list, parent, false); return new ListItemViewHolder(textViewContainer, mClickListener, mDashboardAccess); } } return null; }
public CheckableImageButton getPasswordToggleView() { return mPasswordToggleView; }