From 8ffef7b9f4b859d4fd7dba157a16fdf4c87b2309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Thu, 15 Oct 2015 17:02:04 -0400 Subject: [PATCH] ui: inform user of lost network connectivity Tuleap: #10 Change-Id: I8f047f612897caab31f5d922b38e6d0372ca16c9 --- .../fragments/AccountsManagementFragment.java | 34 +++--------- .../cx/ring/fragments/CallListFragment.java | 17 +++++- .../ic_network_disconnect_black_24dp.png | Bin 0 -> 3710 bytes .../ic_network_disconnect_black_24dp.png | Bin 0 -> 3540 bytes .../ic_network_disconnect_black_24dp.png | Bin 0 -> 3603 bytes .../ic_network_disconnect_black_24dp.png | Bin 0 -> 3906 bytes .../ic_network_disconnect_black_24dp.png | Bin 0 -> 4200 bytes .../ic_network_disconnect_black_24dp.png | Bin 0 -> 4417 bytes .../main/res/layout/frag_accounts_list.xml | 16 ++---- .../src/main/res/layout/frag_call_list.xml | 51 +++++++++++++++--- .../src/main/res/layout/item_account_pref.xml | 7 +-- .../app/src/main/res/values/strings.xml | 1 + 12 files changed, 76 insertions(+), 50 deletions(-) create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_network_disconnect_black_24dp.png create mode 100644 ring-android/app/src/main/res/drawable-ldpi/ic_network_disconnect_black_24dp.png create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_network_disconnect_black_24dp.png create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_network_disconnect_black_24dp.png create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_network_disconnect_black_24dp.png create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_network_disconnect_black_24dp.png diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java index bb2d99594..065dada48 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java @@ -41,6 +41,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.os.RemoteException; @@ -74,7 +75,6 @@ public class AccountsManagementFragment extends Fragment { private AccountsAdapter mIP2IPAdapter; private DragSortListView mDnDListView; - private View mLoadingView; private int mShortAnimationDuration; private DragSortListView.DropListener onDrop = new DragSortListView.DropListener() { @@ -167,8 +167,6 @@ public class AccountsManagementFragment extends Fragment { launchAccountEditActivity(mIP2IPAdapter.accounts.get(0)); } }); - - mLoadingView = view.findViewById(R.id.loading_spinner); } @Override @@ -190,7 +188,6 @@ public class AccountsManagementFragment extends Fragment { startActivityForResult(intent, ACCOUNT_CREATE_REQUEST); } }); - crossfade(); } @Override @@ -329,6 +326,13 @@ public class AccountsManagementFragment extends Fragment { entryView.error_indicator.setVisibility(View.GONE); entryView.loading_indicator.setVisibility(View.VISIBLE); } else if (item.isInError()) { + entryView.error_indicator.setImageResource(R.drawable.ic_error_white_24dp); + entryView.error_indicator.setColorFilter(Color.RED); + entryView.error_indicator.setVisibility(View.VISIBLE); + entryView.loading_indicator.setVisibility(View.GONE); + } else if (!item.isRegistered()) { + entryView.error_indicator.setImageResource(R.drawable.ic_network_disconnect_black_24dp); + entryView.error_indicator.setColorFilter(Color.BLACK); entryView.error_indicator.setVisibility(View.VISIBLE); entryView.loading_indicator.setVisibility(View.GONE); } else { @@ -401,28 +405,6 @@ public class AccountsManagementFragment extends Fragment { } - private void crossfade() { - - // Set the content view to 0% opacity but visible, so that it is visible - // (but fully transparent) during the animation. - mDnDListView.setAlpha(0f); - mDnDListView.setVisibility(View.VISIBLE); - - // Animate the content view to 100% opacity, and clear any animation - // listener set on the view. - mDnDListView.animate().alpha(1f).setDuration(mShortAnimationDuration).setListener(null); - - // Animate the loading view to 0% opacity. After the animation ends, - // set its visibility to GONE as an optimization step (it won't - // participate in layout passes, etc.) - mLoadingView.animate().alpha(0f).setDuration(mShortAnimationDuration).setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mLoadingView.setVisibility(View.GONE); - } - }); - } - private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallListFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallListFragment.java index d78353334..74adc0dd9 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/CallListFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/CallListFragment.java @@ -60,6 +60,7 @@ import cx.ring.R; import cx.ring.adapters.ContactPictureTask; import cx.ring.adapters.ContactsAdapter; import cx.ring.adapters.StarredContactsAdapter; +import cx.ring.client.AccountWizard; import cx.ring.client.ConversationActivity; import cx.ring.client.HomeActivity; import cx.ring.client.NewConversationActivity; @@ -103,7 +104,8 @@ public class CallListFragment extends Fragment implements SearchView.OnQueryText //private SwipeListViewTouchListener mSwipeLvTouchListener; private LinearLayout mHeader; private ViewGroup newcontact; - + private ViewGroup error_msg_pane; + private TextView error_msg_txt; @Override public void onStart() { @@ -111,6 +113,7 @@ public class CallListFragment extends Fragment implements SearchView.OnQueryText super.onStart(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(LocalService.ACTION_CONF_UPDATE); + intentFilter.addAction(LocalService.ACTION_ACCOUNT_UPDATE); getActivity().registerReceiver(receiver, intentFilter); updateLists(); } @@ -146,8 +149,15 @@ public class CallListFragment extends Fragment implements SearchView.OnQueryText } public void updateLists() { - if (mCallbacks.getService() != null) + if (mCallbacks.getService() != null) { mConferenceAdapter.updateDataset(mCallbacks.getService().getConversations()); + if (mCallbacks.getService().isConnected()) { + error_msg_pane.setVisibility(View.GONE); + } else { + error_msg_pane.setVisibility(mCallbacks.getService().isConnected() ? View.GONE : View.VISIBLE); + error_msg_txt.setText(R.string.error_no_network); + } + } } @Override @@ -301,6 +311,9 @@ public class CallListFragment extends Fragment implements SearchView.OnQueryText } }); + error_msg_pane = (ViewGroup) inflatedView.findViewById(R.id.error_msg_pane); + error_msg_txt = (TextView) error_msg_pane.findViewById(R.id.error_msg_txt); + list.setAdapter(mConferenceAdapter); list.setVisibility(View.VISIBLE); contactList.setVisibility(View.GONE); diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e7eddb49079cf9fc3e7d591cda1d7e0efbe6dc GIT binary patch literal 3710 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 M)78&qol`;+0L^Q#*Z=?k literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/drawable-ldpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-ldpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..8be95371dde5d901aa25876c9ad6b842364d79d2 GIT binary patch literal 3540 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuL8ZdZjwlmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNQ(yJ$ln^1)jG1k*?DlR9X@&XPovazwq=syYO=rbz9@THeVFe zayIDHIn3`7zFuD=|4y3k)T7t{Z^Pp+3R`51#7!pI_it8{zxH*{PTR%qyLZbO_%ubG zyM1GOePir<S)H8UA2Z6sw)@?3`hCzh;Ms|uV;j|Xwzl|Nzpb8LzF){rCw+dB_oJe^ zef(_+Car-t3a9r>J{QPhEHJfcb$s~K%+8F}CpO)9ePie9pCWr!e-*Kg-xe$9{IKQ@ z-$zZi+kU^S%Cw#Mue?*Xw=vk+_CsX1VU*P3`Kz@Rm4Yt5b-g=nQ&a)VVujVwE{1cu zwym8MC^RiX@XIsp3b}n&r;c>IS>Vvi#rtaYx)8&o2j=pc7N<sTQ#m&Cb(2uq!h>p& zvnI2IiQZvJ+xN^V`_7(Yt37T#lRh|^GpR*xephwspUFj>y@tVaPAu0Bn<0Ll<%o&e z&dOHth6^_guZrFez0<zuqx=Cbj#pg8hnTwU{W_gr&Wqk;!Tsk7`}6Z9>e<l@iid7= zot)6n(C?Ao^`!S^hrn?bJ67X#&YA{>l|{<t2i#Pc{2p1F{gTj)53@UaBZ|T4<06R* zDVhzUO-l7TDo+9eFFpt{U6pxhjj9(<U~-SxbGc9-of%Okn^SIjO%j>3Y=+L#DZwY_ zutv{#HskEmDaCrM&0-$nU-Uj`JbmEYSMWlR-}=(T{-B9=rXg!LM){gvzqG^i@ay|Y z#@B;RuPu4yu~cr?w;OAh&#RU^u~ku-N4D^WhjM>W;O!9kl^2C~u3vd^nOSG+)AaHz zgV}dgGV;`|W;RN&GZoHenQ*~o=1&*J4=Uy}f1at(oZ{G9awyZJvoYbt5vvzT<?7#6 z&6hvizT@Ni6FWQK#ZM>}zN_|q=56k*+`8|tl*;zC8ZV1uGc&XJ5@Ip+r|+-FxBjj@ z5dA{;i&z!+-qw3g`3wKMXFNF0{4Z<Q{QjB=57yL5Su-#&Bw$VEnFS@upk!|Axs$iS zf#<a`tFlVrgT7LaS+6y2#79g#Fzu=TwZBVpdJ7Kn^c#CM|4B?;*>}+5VSq&0s=f1{ z6mOKh<0${=YiMXCqhYPcW8YfUO$-d2S(zabB@w<pR>}FfdWk9dNvV1jxdjX$U}IlV zkeHmETB4AYnx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpj<h z3ag6Tg51=SM1_jnoV;SI3R@+xxmJ0_Rv=-0B?YjOl5AV02;Tq&=lr5n1rt3JJp*0W zip(-2B|9z!o1&C7s~{IQs1ZdeX|_rkB_#z``ugSN<$C4Ddih1^`i7R4mih)p`bI{& zMJZ{z#g%y_i50qe#mXQfAZECv7AF^F7L;V>=P7{9OiaozEwNQn;!;phfEu2X3^%)= zv?vE`a!Rs(YEEiyYF<gPzM-C>K3IK9vXxtYQEp<1tx{%gVtT56L0-C&KFGEDAftm^ z-0Zk)^uc}u`O^+;2gn{;;!#UT3f<A*8VxRzLVzU2qp52&xJU{Ck`#}ouAvoNT!;o# zYF>)1Qn`}79mD?y2L=WPwj^(N7l!{JxM1({$qWn(oCO|{#S9GG!XV7ZFl!E|^TS@^ z>FdgVpNn6_RPf!wr>+bP3^P1k978;gzYTHZYf#|P{^4iw<Nt0orO!;q1P<i3Nc)x< zNJnqq!o)2s$Pm!Qqt)HB=_l_2v!X9&BUOvTieIuFS!1lMF2uia^V9^<H|OVDt+!=o zwCH+oRQ7Uj=fv|5x2P@h`+Ptl$TTqbZ_$CHfzwwS+}|N3KD%k>s+p?6D{s!q$$0Sg t1Dl=cwSTSgM~?&we-+SXmK95T$oO}U_3z`ky>CD*M^9Hjmvv4FO#rjxY!Lte literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..be26ae73100447b5e25f369fa946c64bae631062 GIT binary patch literal 3603 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 IIVCg!03rd0I{*Lx literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..54800300463b4408354743553c6a09dea208169b GIT binary patch literal 3906 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 Mp00i_>zopr0DX=hkpKVy literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..34eb88c482ad7be15fae264ab4c320ba0ca89198 GIT binary patch literal 4200 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 F69DgFzF+_V literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_network_disconnect_black_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_network_disconnect_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..840320b07cd0ad3a3ab66dbd6d05554ffc15f7d6 GIT binary patch literal 4417 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 N8BbR~mvv4FO#p5679#)v literal 0 HcmV?d00001 diff --git a/ring-android/app/src/main/res/layout/frag_accounts_list.xml b/ring-android/app/src/main/res/layout/frag_accounts_list.xml index ead1b9627..ebd142192 100644 --- a/ring-android/app/src/main/res/layout/frag_accounts_list.xml +++ b/ring-android/app/src/main/res/layout/frag_accounts_list.xml @@ -15,7 +15,8 @@ <RelativeLayout android:layout_width="match_parent" - android:layout_height="wrap_content" > + android:layout_height="wrap_content" + android:minHeight="72dp"> <cx.ring.views.dragsortlv.DragSortListView android:id="@+id/accounts_list" @@ -24,7 +25,7 @@ android:background="@color/white" android:choiceMode="multipleChoice" android:dividerHeight="1px" - android:visibility="gone" + android:visibility="visible" dslv:collapsed_height="1px" dslv:drag_enabled="true" dslv:drag_handle_id="@id/drag_handle" @@ -35,16 +36,6 @@ dslv:remove_enabled="false" dslv:slide_shuffle_speed="0.3" /> - <ProgressBar - android:id="@+id/loading_spinner" - style="?android:progressBarStyle" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_margin="5dp" - android:layout_centerInParent="true" - android:layout_gravity="center" - android:indeterminate="false" /> - <TextView android:id="@+id/empty_account_list" android:layout_width="wrap_content" @@ -54,6 +45,7 @@ android:gravity="center" android:text="@string/empty_account_list" android:textAppearance="?android:attr/textAppearanceMedium" + android:textColor="@color/text_color_secondary" android:visibility="gone"> </TextView> diff --git a/ring-android/app/src/main/res/layout/frag_call_list.xml b/ring-android/app/src/main/res/layout/frag_call_list.xml index a90c940cf..0291a6d67 100644 --- a/ring-android/app/src/main/res/layout/frag_call_list.xml +++ b/ring-android/app/src/main/res/layout/frag_call_list.xml @@ -18,12 +18,33 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. --> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@android:color/white"> + android:animateLayoutChanges="true"> + + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentTop="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" + android:id="@+id/error_msg_pane" + android:padding="16dp" + android:background="#e57373" + android:visibility="gone"> + + <TextView + android:id="@+id/error_msg_txt" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:textColor="@color/text_color_primary" + android:textSize="14sp" /> + + </RelativeLayout> <se.emilsjolander.stickylistheaders.StickyListHeadersListView android:id="@+id/contacts_stickylv" @@ -35,7 +56,13 @@ along with this program; if not, write to the Free Software android:fastScrollEnabled="true" android:paddingBottom="8dp" android:paddingTop="8dp" - android:scrollbarStyle="outsideOverlay" /> + android:scrollbarStyle="outsideOverlay" + android:layout_alignParentLeft="true" + android:layout_marginLeft="0dp" + android:layout_below="@+id/error_msg_pane" + android:elevation="8dp" + android:visibility="gone" + android:background="@android:color/white" /> <ListView android:id="@+id/confs_list" @@ -45,18 +72,28 @@ along with this program; if not, write to the Free Software android:divider="@null" android:paddingBottom="8dp" android:paddingTop="8dp" - tools:listitem="@layout/item_calllist"/> + tools:listitem="@layout/item_calllist" + android:layout_alignParentLeft="true" + android:layout_marginLeft="0dp" + android:layout_marginTop="0dp" + android:layout_below="@+id/error_msg_pane" + android:elevation="8dp" + android:background="@android:color/white" + android:visibility="gone" /> <android.support.design.widget.FloatingActionButton android:id="@+id/newconv_fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:layout_margin="@dimen/fab_compat_margin" android:src="@drawable/ic_add_white_24dp" app:backgroundTint="@color/color_primary_light" app:elevation="6dp" app:pressedTranslationZ="12dp" - app:rippleColor="@color/color_primary_dark" /> + app:rippleColor="@color/color_primary_dark" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true" + android:layout_margin="@dimen/fab_compat_margin" /> -</FrameLayout> \ No newline at end of file +</RelativeLayout> \ No newline at end of file diff --git a/ring-android/app/src/main/res/layout/item_account_pref.xml b/ring-android/app/src/main/res/layout/item_account_pref.xml index ee774ce51..a34d7cc30 100644 --- a/ring-android/app/src/main/res/layout/item_account_pref.xml +++ b/ring-android/app/src/main/res/layout/item_account_pref.xml @@ -36,7 +36,8 @@ android:layout_alignParentLeft="true" android:ellipsize="middle" android:singleLine="true" - android:layout_marginRight="56dp" /> + android:layout_toLeftOf="@+id/error_indicator" + android:layout_toStartOf="@+id/error_indicator" /> <CheckBox android:id="@+id/account_checked" @@ -64,10 +65,10 @@ android:focusable="false" android:src="@drawable/ic_error_white_24dp" android:focusableInTouchMode="false" - android:layout_marginRight="16dp" android:layout_centerVertical="true" android:layout_toStartOf="@+id/account_checked" android:layout_toLeftOf="@+id/loading_indicator" - android:tint="@color/error_red" /> + android:tint="@color/error_red" + android:layout_margin="16dp" /> </RelativeLayout> \ No newline at end of file diff --git a/ring-android/app/src/main/res/values/strings.xml b/ring-android/app/src/main/res/values/strings.xml index 4884b2d9f..f4cf56364 100644 --- a/ring-android/app/src/main/res/values/strings.xml +++ b/ring-android/app/src/main/res/values/strings.xml @@ -46,6 +46,7 @@ as that of the covered work. <string name="create_new_account_dialog">Would you like to register an account now?</string> <string name="cannot_pass_sipcall_title">SIP account not available</string> <string name="cannot_pass_sipcall">Current selected account is not available</string> + <string name="error_no_network">No network connectivity</string> <!-- AB menus --> <string name="ab_account_creation">New account</string> -- GitLab