Add setting icon on the "Watching threads" header item.

filtering
Floens 10 years ago
parent ad02acaefe
commit 2ae4a94b9d
  1. 26
      Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java
  2. 5
      Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java
  3. 2
      Clover/app/src/main/java/org/floens/chan/ui/controller/WatchSettingsController.java
  4. BIN
      Clover/app/src/main/res/drawable-hdpi/ic_settings_grey600_24dp.png
  5. BIN
      Clover/app/src/main/res/drawable-mdpi/ic_settings_grey600_24dp.png
  6. BIN
      Clover/app/src/main/res/drawable-xhdpi/ic_settings_grey600_24dp.png
  7. BIN
      Clover/app/src/main/res/drawable-xxhdpi/ic_settings_grey600_24dp.png
  8. BIN
      Clover/app/src/main/res/drawable-xxxhdpi/ic_settings_grey600_24dp.png
  9. 12
      Clover/app/src/main/res/layout/cell_header.xml

@ -42,7 +42,7 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case TYPE_HEADER:
return new PinHeaderHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_header, parent, false));
return new HeaderHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_header, parent, false));
case TYPE_PIN:
return new PinViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_pin, parent, false));
case TYPE_LINK:
@ -55,7 +55,10 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
case TYPE_HEADER:
((PinHeaderHolder) holder).text.setText(R.string.drawer_pinned);
HeaderHolder headerHolder = (HeaderHolder) holder;
headerHolder.text.setText(R.string.drawer_pinned);
headerHolder.image.setImageResource(R.drawable.ic_settings_grey600_24dp);
break;
case TYPE_PIN:
final Pin pin = pins.get(position - PIN_OFFSET);
@ -259,13 +262,26 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
}
}
public class PinHeaderHolder extends RecyclerView.ViewHolder {
public class HeaderHolder extends RecyclerView.ViewHolder {
private TextView text;
private ImageView image;
public PinHeaderHolder(View itemView) {
public HeaderHolder(View itemView) {
super(itemView);
text = (TextView) itemView.findViewById(R.id.text);
text.setTypeface(ROBOTO_MEDIUM);
image = (ImageView) itemView.findViewById(R.id.image);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
image.setBackground(getAttrDrawable(itemView.getContext(), android.R.attr.selectableItemBackgroundBorderless));
} else {
image.setBackgroundResource(R.drawable.gray_background_selector);
}
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onHeaderClicked(HeaderHolder.this);
}
});
}
}
@ -293,6 +309,8 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
void onWatchCountClicked(Pin pin);
void onHeaderClicked(HeaderHolder holder);
boolean isHighlighted(Pin pin);
}
}

@ -155,6 +155,11 @@ public class RootNavigationController extends NavigationController implements Pi
ChanApplication.getWatchManager().toggleWatch(pin);
}
@Override
public void onHeaderClicked(PinAdapter.HeaderHolder holder) {
pushController(new WatchSettingsController(context));
}
public void onEvent(WatchManager.PinAddedMessage message) {
pinAdapter.onPinAdded(message.pin);
drawerLayout.openDrawer(drawer);

@ -62,7 +62,9 @@ public class WatchSettingsController extends SettingsController implements Compo
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
ChanSettings.watchEnabled.set(isChecked);
if (previousSiblingController instanceof WatchSettingControllerListener) {
((WatchSettingControllerListener) previousSiblingController).onWatchEnabledChanged(isChecked);
}
crossfadeView.toggle(isChecked, true);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -6,8 +6,9 @@
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:paddingLeft="16dp"
@ -16,4 +17,13 @@
android:textColor="#ff757575"
android:textSize="14sp" />
<ImageView
android:id="@+id/image"
android:layout_width="56dp"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:scaleType="center"
android:layout_gravity="center_vertical" />
</LinearLayout>

Loading…
Cancel
Save