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