diff --git a/ring-android/app/proguard-rules.pro b/ring-android/app/proguard-rules.pro index a29d5f0bcb35275e38ae43cc396cf4cb6e2c41ee..73f2edf3c6659939cf52830fdc3bbadb6ac858a5 100644 --- a/ring-android/app/proguard-rules.pro +++ b/ring-android/app/proguard-rules.pro @@ -2,6 +2,10 @@ public <init>(android.content.Context); } +-keepattributes Signature + +-keep class android.support.v7.widget.LinearLayoutManager { *; } + -keep class cx.ring.service.** -keepclassmembers class cx.ring.service.** { *; } diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java index d7f35741af70845015c05a55c93794f8c006aa17..5919d3b7efd3594c3a5f5a591aa9d80d6f955f1a 100644 --- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java @@ -399,7 +399,7 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call /** * Defines callbacks for service binding, passed to bindService() */ - private ServiceConnection mConnection = new ServiceConnection() { + private final ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName className, IBinder s) { @@ -410,39 +410,37 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call intentFilter.addAction(LocalService.ACTION_CONF_UPDATE); intentFilter.addAction(LocalService.ACTION_ACCOUNT_UPDATE); registerReceiver(receiver, intentFilter); + mBound = true; - fContent = new CallListFragment(); - if (fMenuHead != null) - fMenu.removeHeaderView(fMenuHead.getView()); - fMenu.inflateHeaderView(R.layout.menuheader); - fMenuHead = (MenuFragment) getFragmentManager().findFragmentById(R.id.accountselector); + FragmentManager fm = getFragmentManager(); + fMenuHead = (MenuFragment) fm.findFragmentById(R.id.menu_head); + if (fMenuHead == null) { + fMenuHead = new MenuFragment(); + getFragmentManager().beginTransaction().replace(R.id.menu_head, fMenuHead).commitAllowingStateLoss(); + } - getFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commitAllowingStateLoss(); - mBound = true; - Log.i(TAG, "Service connected service=" + service); + fContent = getFragmentManager().findFragmentById(R.id.main_frame); + if (fContent == null) { + fContent = new CallListFragment(); + getFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commitAllowingStateLoss(); + } } @Override public void onServiceDisconnected(ComponentName className) { Log.i(TAG, "onServiceConnected " + className.getClassName()); if (fMenuHead != null) { - fMenu.removeHeaderView(fMenuHead.getView()); + getFragmentManager().beginTransaction().remove(fMenuHead).commitAllowingStateLoss(); fMenuHead = null; } mBound = false; - Log.i(TAG, "Service disconnected service=" + service); } }; @Override public boolean onOptionsItemSelected(MenuItem item) { - Log.i(TAG, "onOptionsItemSelected " + item.getItemId()); - - if (mDrawerToggle.onOptionsItemSelected(item)) { - return true; - } - return false; + return mDrawerToggle.onOptionsItemSelected(item); } @Override diff --git a/ring-android/app/src/main/res/layout/activity_home.xml b/ring-android/app/src/main/res/layout/activity_home.xml index 597fd2a98756ce75c49f339c025904e928311488..4efd6577a2bb57c2a83b492412782f8aebe54957 100644 --- a/ring-android/app/src/main/res/layout/activity_home.xml +++ b/ring-android/app/src/main/res/layout/activity_home.xml @@ -69,14 +69,14 @@ along with this program; if not, write to the Free Software android:layout_alignParentStart="true" android:layout_marginBottom="@dimen/action_button_bpadding" android:layout_marginLeft="@dimen/action_button_lpadding" + android:layout_marginStart="@dimen/action_button_lpadding" android:adjustViewBounds="false" android:baselineAlignBottom="false" + android:visibility="gone" app:elevation="6dp" app:fabSize="mini" app:pressedTranslationZ="12dp" - app:rippleColor="@android:color/white" - android:layout_marginStart="@dimen/action_button_lpadding" - android:visibility="gone" /> + app:rippleColor="@android:color/white" /> </RelativeLayout> @@ -88,6 +88,7 @@ along with this program; if not, write to the Free Software android:fitsSystemWindows="true" android:theme="@style/AppThemeBase" android:windowBackground="@color/white" + app:headerLayout="@layout/menuheader" app:itemTextColor="?android:textColorPrimary" app:menu="@menu/drawer" /> diff --git a/ring-android/app/src/main/res/layout/frag_call.xml b/ring-android/app/src/main/res/layout/frag_call.xml index 1ea59b9a5c5de4664c660ab360794b0af77c3ac3..6443674ad6f10f512e9166ea46c9b9611a698c09 100644 --- a/ring-android/app/src/main/res/layout/frag_call.xml +++ b/ring-android/app/src/main/res/layout/frag_call.xml @@ -79,7 +79,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. android:layout_below="@+id/contact_bubble" android:gravity="center_horizontal" android:textAppearance="?android:attr/textAppearanceLarge" - android:textColor="@color/text_color_primary_dark" /> + android:textColor="@color/text_color_primary_dark" + android:singleLine="true" /> <TextView android:id="@+id/contact_bubble_num_txt" @@ -152,7 +153,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. app:elevation="6dp" app:pressedTranslationZ="12dp" app:rippleColor="@android:color/white" - android:layout_gravity="bottom|center_horizontal" /> + android:layout_gravity="bottom|center_horizontal" + android:visibility="gone" /> <RelativeLayout android:id="@+id/call_status_bar" diff --git a/ring-android/app/src/main/res/layout/menuheader.xml b/ring-android/app/src/main/res/layout/menuheader.xml index 47a4aee3cf598eb51814defabfb3c5121be6ad79..ebc00007262ebadc2957a205c2a2d378401a2e41 100644 --- a/ring-android/app/src/main/res/layout/menuheader.xml +++ b/ring-android/app/src/main/res/layout/menuheader.xml @@ -1,14 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical"> - - <fragment - android:id="@+id/accountselector" - android:name="cx.ring.fragments.MenuFragment" - android:layout_width="match_parent" - android:layout_height="wrap_content" - tools:layout="@layout/frag_menu_header" /> -</LinearLayout> \ No newline at end of file + android:orientation="vertical" + android:id="@+id/menu_head"> +</FrameLayout> \ No newline at end of file