Commit cc7a39e8 authored by Grigory Fedorov's avatar Grigory Fedorov

Chat scroll indicator: recent chats square painted in main (first) account color.

parent 21ab40e2
......@@ -326,8 +326,8 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
@Override
public void onChatChanged(final String account, final String user, final boolean incoming) {
if (chatViewerAdapter.updateChats()) {
selectPage();
chatScrollIndicatorAdapter.update(chatViewerAdapter.getActiveChats());
selectPage();
} else {
updateRegisteredChats();
updateRegisteredRecentChatsFragments();
......
package com.xabber.android.ui.adapter;
import android.app.Activity;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
......@@ -8,6 +9,7 @@ import android.widget.LinearLayout;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.message.AbstractChat;
import com.xabber.android.ui.helper.AccountPainter;
import com.xabber.androiddev.R;
import java.util.ArrayList;
......@@ -16,10 +18,12 @@ public class ChatScrollIndicatorAdapter {
private final Activity activity;
private final LinearLayout linearLayout;
private final AccountPainter accountPainter;
public ChatScrollIndicatorAdapter(Activity activity, LinearLayout linearLayout) {
this.activity = activity;
this.linearLayout = linearLayout;
accountPainter = new AccountPainter(activity);
}
public void select(int selectedPosition) {
......@@ -27,8 +31,8 @@ public class ChatScrollIndicatorAdapter {
final View view = linearLayout.getChildAt(index);
final AccountViewHolder accountViewHolder = (AccountViewHolder) view.getTag();
accountViewHolder.selection.setVisibility(index == selectedPosition ? View.VISIBLE : View.GONE);
accountViewHolder.body.setVisibility(index == selectedPosition ? View.GONE : View.VISIBLE);
accountViewHolder.selection.setVisibility(index == selectedPosition ? View.VISIBLE : View.INVISIBLE);
accountViewHolder.body.setVisibility(index == selectedPosition ? View.INVISIBLE : View.VISIBLE);
}
}
......@@ -57,6 +61,9 @@ public class ChatScrollIndicatorAdapter {
int colorLevel = AccountManager.getInstance().getColorLevel(activeChats.get(i - 1).getAccount());
accountViewHolder.body.setImageLevel(colorLevel);
accountViewHolder.selection.setImageLevel(colorLevel);
} else {
accountViewHolder.body.setImageDrawable(new ColorDrawable(accountPainter.getDefaultMainColor()));
accountViewHolder.selection.setImageDrawable(new ColorDrawable(accountPainter.getDefaultMainColor()));
}
view.setTag(accountViewHolder);
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginEnd="3dp"
android:layout_marginRight="3dp"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:layout_marginStart="3dp"
android:orientation="vertical"
>
<ImageView
......@@ -13,17 +14,17 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:src="@drawable/ic_scroll_indicator_circle_small"
android:alpha="0.5"
android:src="@drawable/ic_scroll_indicator_circle_small"
/>
<ImageView
android:id="@+id/indicator_item_selection"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_scroll_indicator_circle_large"
android:visibility="gone"
android:alpha="0.5"
android:src="@drawable/ic_scroll_indicator_circle_large"
android:visibility="invisible"
/>
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_marginEnd="3dp"
android:layout_marginRight="3dp"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:layout_marginStart="3dp"
android:orientation="vertical"
>
<ImageView
android:id="@+id/indicator_item_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:src="@drawable/ic_scroll_indicator_square_8dp"
android:layout_width="6dp"
android:layout_height="6dp"
android:layout_centerInParent="true"
android:alpha="0.5"
android:src="@color/green_500"
/>
<ImageView
android:id="@+id/indicator_item_selection"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_scroll_indicator_square_12dp"
android:visibility="gone"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_centerInParent="true"
android:alpha="0.5"
android:src="@color/green_500"
android:visibility="invisible"
/>
</RelativeLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment