From a0caddeb8bbf2c42dd6bed79f793a2de8dad0da7 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 20 Sep 2012 11:52:32 +0200 Subject: [PATCH] Interface improved --- res/drawable-hdpi/chat_default.png | Bin 2441 -> 3342 bytes res/drawable-hdpi/chat_over.png | Bin 2436 -> 3365 bytes .../chat_progressbar_background.png | Bin 0 -> 3046 bytes res/drawable-hdpi/chat_selected.png | Bin 2345 -> 3334 bytes res/drawable-hdpi/settings_default.png | Bin 3023 -> 4166 bytes res/drawable-hdpi/settings_over.png | Bin 3135 -> 4120 bytes res/drawable-hdpi/settings_selected.png | Bin 3039 -> 4070 bytes res/drawable-hdpi/setup_back_over.png | Bin 2835 -> 3788 bytes res/drawable-hdpi/setup_cancel_over.png | Bin 3124 -> 4082 bytes res/drawable-hdpi/setup_start_default.png | Bin 0 -> 3072 bytes res/drawable-hdpi/setup_start_disabled.png | Bin 0 -> 2637 bytes res/drawable-hdpi/setup_start_over.png | Bin 0 -> 4093 bytes res/drawable/pause.xml | 8 +++ res/drawable/play.xml | 8 +++ res/drawable/remove.xml | 8 +++ res/layout/active_call.xml | 2 +- res/layout/chat.xml | 2 +- res/layout/chat_bubble_alt_outgoing.xml | 2 +- res/layout/conference_header.xml | 2 +- res/layout/main.xml | 8 +-- res/values/non_localizable_custom.xml | 3 +- src/org/linphone/AudioCallFragment.java | 10 +-- src/org/linphone/ChatFragment.java | 35 +++++++++- src/org/linphone/DialerFragment.java | 2 +- src/org/linphone/FragmentsAvailable.java | 16 ++--- src/org/linphone/LinphoneActivity.java | 60 ++++++++++++++---- src/org/linphone/LinphoneService.java | 2 +- 27 files changed, 129 insertions(+), 39 deletions(-) create mode 100644 res/drawable-hdpi/chat_progressbar_background.png create mode 100644 res/drawable-hdpi/setup_start_default.png create mode 100644 res/drawable-hdpi/setup_start_disabled.png create mode 100644 res/drawable-hdpi/setup_start_over.png create mode 100644 res/drawable/pause.xml create mode 100644 res/drawable/play.xml create mode 100644 res/drawable/remove.xml diff --git a/res/drawable-hdpi/chat_default.png b/res/drawable-hdpi/chat_default.png index 27be9247006dca23c46f9dcff476913ea8d01369..e9c671361c7e5bfbf96a9d4025ad077e2b328abd 100644 GIT binary patch delta 2663 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 delta 1744 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 delta 1740 zcmb`FYdF&j0Ehn@x``1wh*=J&aw(g;&^8;Qa%rZPZK^ew$<&lf%YSD?&7F`%SC`DK z%Ne$ykBPhDr(N1pumHnkcQP~B-ESxbWNH;3PQ_G zZ2KcF9&3MR4W1gNOX^lYPy$J`a-5Yst9`&1%bB99-Mxgc44b4JWA!^$IQA;Qq%^~!c) z;)@jis6H`l08*VeRo}Yk^vcYBA&P_OiOwJ<@hd0?TPIZ>RK*VaOIX{@9a1ymH;sue zZA$W=Ue{yj&5$rn$8{mDIi{WUqA`*grenS_qQDsZHR?FI?WoRix+U7MlV;p%+9yG0 zo7+=_y@6VBPss2;=5SC|gJNE>KtHHuac=`mO)2Cz&5?RUnAaR-LuZ*1G6VLP~FbRNF>@2ndzA(u+go^ZJxM* zYKj~g5*WV94oA5UnXoE}>?5SyiPVz?i?NJipn5Bz0(NV^vg+lAk#AUYhLCQE?j3Wp zH6tm74oL|nkY#ykc$KJXTmQ+1L;4{3eY0ue^*zi6;%bYfCFXc{FS(pZV?QOEyPMoG zatR!ysBu3%>)L__{wv;CH}<}dX}vy{b_Ar${oa&V5uF~iHUDiuf2Th%DUMB~cCPv0rKfD5 zeg&YB!7q>Q_zRm#!S>m7XAA13F9AZp>9qVJb!wC?63kFzKWkYM$~2c7Ufh`)nR)zj z!l3jnEF(x30*l#zp{EC>IVJ&x+HpEY-WxdyTNzEMV{OJ6OR!ZLkd>;=6xqF6c#-mR zvoa6J>x9QDaPvYB8lI!s{<52r8=UEv3Y;>Kl)g>iRm_39iqIlEIpc6!cY``2N2BaU z*2@<*jwwLlE-G~g6o7_Zh^?%eD+-mM4+#MhHN3EzsE#nF*{0c8i5!AOz-=wh154t* zx_WCucG%NCZkW#DRl828Rphs4Z|Wm7*T}ghTNREB9#f%kZ$At>!H&Z+{c>D!Y^ z$%;GJ-wNyg8mJuep}Fz3!8W$MKjgYjKXYxSQ#3y8L6+xU9hnvRQm!w@ojXB|M&^N@ ziH+^qmv87T@UJcp-{1e?VU9^2Z->04%(qbstcZkG2t#n;-D_3-Bvp|y4B5vsR8PNm z#Tw|EWZ@eBfyp=B0Y<#9yN*9dB-F6cxYE;h39%58UvofS8?(bTCt!gW{!9OM?)xE8 z>E!vifLWnEH0+9k`*v}(7aZcte|}U%P62e3_Q*E43|C6+l9Q9iaNF|2+FH~39U!=j wxpvf-@3mTi{;v+M2>idmzvnoAe)i%(fNO9?dxPkyr@;5^#P7jXVFS5;1KkPfkN^Mx diff --git a/res/drawable-hdpi/chat_progressbar_background.png b/res/drawable-hdpi/chat_progressbar_background.png new file mode 100644 index 0000000000000000000000000000000000000000..abd966e8678f10aa2ea97895226a8e28a87c7966 GIT binary patch literal 3046 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 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/chat_selected.png b/res/drawable-hdpi/chat_selected.png index a205491195d6eeb94c72764939a9365f09d24d79..a7fff16a8f5bb646a15513e90328ac884389611c 100644 GIT binary patch delta 2645 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 delta 1648 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 K3~Kc3BmM(-2k$lj delta 2323 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%0Dcy%@ev1;burtLuXrEYrb6! zB_Qilpl0!_xSwu6pcz~|Z?~HdALsCDo=fup!luetx>h6UT;j$N<%6x|hV1`#CjPBab`U?{zkR+-+5`1e6flW11J-8gD)K z-Xcw7wnPg$x1Fn;usN`4n9?0d8wVNeSKI)|1C!;COCC*wNNAI_zQ%vf^3v^`(sOF! zjZn@J{oHH;vXM9YjUPhE^f1T337+Cs)?IP3J|_KrYnP{@S!_H(zSF7o(18q>wnx)~ z@k2|Pa~KolFZ(6-9IHw6)m3|*U-dplHVqd}j@4tcw4wu)te!!sq1*kl?LHqoruAJ+ zvh8DiNQPI*B2R#hFr{A=3Nyk#7I&D9fk-fl6(|6pv^X&U4?@6*#sJ~3W>+eg6zN#Z zC5l)lYCKRlpIisVl0LK@t`wy&T1}$xu>3BV1Ae{~$i4#_m{3f5A~)%%vUT!k(~$kl z>GpzwlB3xp%A#A7?;4hKzc6JL-H_6G_6x&$<^qMLJ>-bKAZ`qjzPnq|b$P$AeB~v; z9-fqVTmB}DE`?x2aM|cHRc}taG~XKnVOdBb9GcuTR_ZL+<`MgtVv+dzGZaJ$E*c2K zH&zgWS}m|oYyp9##Hsn55hjJ(!bDdlp2x-9vj(&ou}{$@}u+iwy16*nsbZNfgcGeL$8!yub7Luh&C1 z6Wu0#(VO|Ztb?B#h&kN5Cb35rO`^r;mFlP)^g>g zMiutpv?u4_cGoVF%ah|;AlOJ6Y*;7D*t_Ke)>T$dDTlHiO4}bZCtS4i+K%UYXNiE} z1joGUy?YaJI@bW`-Xn>iq$fFZv{WL!?W=>5kzYhY=&9#sT9s8xxmvYBNNu~}9K{R8 zjc0vodrbjwH4GCdz7j zl}&1qyg7?=$ylQo zUz?W*jw)*GKjbA?Vfj&O(pxh%anzSoW-4db_y+oQf!rs?>N#<`{?3^cTUOlQPHd{o l80i1k_g^&nzmX<})gK&h@Am4AGA06lM^D>Gs|xQB@ehO2|7idK delta 2347 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 diff --git a/res/drawable-hdpi/setup_cancel_over.png b/res/drawable-hdpi/setup_cancel_over.png index aab926147c4b5e1037ede4e734257a72316b08b4..cf48a5173e967682dfd489a3d7ae994268573d04 100644 GIT binary patch delta 3330 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%0DJuIUc$g-NCf zIhnEIUC7FC#m9ZG<2`Mt$*1P^Y^;k-ryTL&zo)e{8mJy-f6ogE-uOx zwu6hilz1?e_`ydkqoAm>71U8{0&LdvonM<^n&V6P6}Wh^i#Lq)92GUe+$o{l~-w(LHlY#s&qw= z4%D_d?fSRT@#Nr)uXD-fZ=3YbQ1QLY=;uGR=Mn^`OOt9M+D**$o>|ZP^Lv3TjwvCF`{D0 zXek&;+7Y{M3CJ~py)2No9_`T=eD)_{oEyR7Ai&qfwNjQ^5#N~%0x_=9h5h7b&k-ug zaIvoY2B7O4B*=rSdpPeTYvU_CY$@p8Ymy^BJ+nmp17tB$}v8s-(wu;&_Y0M z6MdX-8E#M4eznz|3z*ofVkz*p_H&kR&#!qo^@yp!?tTrzn>{w~7h-_I`WH6f-8CaL zN6HmR9GlIGJ0QTDF4k*qhdhi8J65E%(E9$=I$Og&Ca>0aA{Re!K+1A;kD=kdsPzR3 zy)JShwX*-trfU3P$((`UpHwgV(s4x<#A?s3v7Y8L%A(3b+JtwLM7Hd}h%Qewm2;76 zBfTKTv;^73{$W|~bY*StxLe2=`aASd&4!zJoXhT&Ei{gUB5_KrtHXSC%rCfNf8UK{k|fBd#*9J%L{pbdUw;>uck2JT;dTd=lQmq+eQbIGN85w z6|IGiZqoGV`Aag|1CQU%l>9o)S&)J8cFPp*|zCD%x*L6pgb slDb>f9t<8 diff --git a/res/drawable-hdpi/setup_start_default.png b/res/drawable-hdpi/setup_start_default.png new file mode 100644 index 0000000000000000000000000000000000000000..342a59a6c0f8778c2053c6a642957099547f2f85 GIT binary patch literal 3072 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 E0BO)KBme*a literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/setup_start_over.png b/res/drawable-hdpi/setup_start_over.png new file mode 100644 index 0000000000000000000000000000000000000000..7fc26c6fd1fc61eccc6f96852aa13895f37fa9c1 GIT binary patch literal 4093 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 + + + + + diff --git a/res/drawable/play.xml b/res/drawable/play.xml new file mode 100644 index 000000000..7835c3562 --- /dev/null +++ b/res/drawable/play.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/res/drawable/remove.xml b/res/drawable/remove.xml new file mode 100644 index 000000000..4a288620c --- /dev/null +++ b/res/drawable/remove.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/res/layout/active_call.xml b/res/layout/active_call.xml index 0714528d2..cba886790 100644 --- a/res/layout/active_call.xml +++ b/res/layout/active_call.xml @@ -31,7 +31,7 @@ android:gravity="center_vertical" android:scaleType="fitCenter" android:adjustViewBounds="true" - android:src="@drawable/pause_default" /> + android:src="@drawable/pause" /> diff --git a/res/layout/chat_bubble_alt_outgoing.xml b/res/layout/chat_bubble_alt_outgoing.xml index 2689f0bdf..37583206a 100644 --- a/res/layout/chat_bubble_alt_outgoing.xml +++ b/res/layout/chat_bubble_alt_outgoing.xml @@ -8,7 +8,7 @@ diff --git a/res/layout/conference_header.xml b/res/layout/conference_header.xml index c5607809e..c442dcce5 100644 --- a/res/layout/conference_header.xml +++ b/res/layout/conference_header.xml @@ -26,7 +26,7 @@ android:layout_height="30dp" android:scaleType="fitCenter" android:adjustViewBounds="true" - android:src="@drawable/pause_default" /> + android:src="@drawable/pause" /> - - - - @@ -151,6 +147,10 @@ android:visibility="gone" /> + + + + diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index b685b4629..cea289c94 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -17,9 +17,10 @@ false false false - false + true false + true false true true diff --git a/src/org/linphone/AudioCallFragment.java b/src/org/linphone/AudioCallFragment.java index bc50b63e7..af9062886 100644 --- a/src/org/linphone/AudioCallFragment.java +++ b/src/org/linphone/AudioCallFragment.java @@ -78,9 +78,9 @@ public class AudioCallFragment extends Fragment implements OnClickListener { ImageView conferenceState = (ImageView) conferenceHeader.findViewById(R.id.conferenceStatus); conferenceState.setOnClickListener(this); if (LinphoneManager.getLc().isInConference()) { - conferenceState.setImageResource(R.drawable.play_default); + conferenceState.setImageResource(R.drawable.play); } else { - conferenceState.setImageResource(R.drawable.pause_default); + conferenceState.setImageResource(R.drawable.pause); } callsList.addView(conferenceHeader); @@ -121,7 +121,7 @@ public class AudioCallFragment extends Fragment implements OnClickListener { callState.setOnClickListener(this); if (call.getState() == State.Paused || call.getState() == State.PausedByRemote || call.getState() == State.Pausing) { - callState.setImageResource(R.drawable.pause_default); + callState.setImageResource(R.drawable.pause); isCallPaused = true; isInConference = false; } else if (call.getState() == State.OutgoingInit || call.getState() == State.OutgoingProgress || call.getState() == State.OutgoingRinging) { @@ -130,10 +130,10 @@ public class AudioCallFragment extends Fragment implements OnClickListener { isInConference = false; } else { if (isConferenceRunning && call.isInConference()) { - callState.setImageResource(R.drawable.call_state_delete_default); + callState.setImageResource(R.drawable.remove); isInConference = true; } else { - callState.setImageResource(R.drawable.play_default); + callState.setImageResource(R.drawable.play); isInConference = false; } isCallPaused = false; diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 7be883dbf..75398ba3c 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -49,6 +49,7 @@ import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; import android.graphics.BitmapFactory; +import android.graphics.Rect; import android.net.Uri; import android.os.Bundle; import android.os.Environment; @@ -64,6 +65,7 @@ import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.widget.EditText; import android.widget.ImageView; import android.widget.ProgressBar; @@ -161,10 +163,40 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } uploadServerUri = getActivity().getResources().getString(R.string.upload_url); + addVirtualKeyboardVisiblityListener(); return view; } + private void addVirtualKeyboardVisiblityListener() { + view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + Rect visibleArea = new Rect(); + view.getWindowVisibleDisplayFrame(visibleArea); + + int heightDiff = view.getRootView().getHeight() - (visibleArea.bottom - visibleArea.top); + if (heightDiff > 200) { + showKeyboardVisibleMode(); + } else { + hideKeyboardVisibleMode(); + } + } + }); + } + + public void showKeyboardVisibleMode() { + LinphoneActivity.instance().hideMenu(true); + contactPicture.setVisibility(View.GONE); + scrollToEnd(); + } + + public void hideKeyboardVisibleMode() { + LinphoneActivity.instance().hideMenu(false); + contactPicture.setVisibility(View.VISIBLE); + scrollToEnd(); + } + private void invalidate() { messagesLayout.removeAllViews(); List messagesList = LinphoneActivity.instance().getChatMessages(sipUri); @@ -290,14 +322,12 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC public void onPause() { super.onPause(); latestImageMessages = null; - Log.e("Deleted hashmap"); } @SuppressLint("UseSparseArrays") @Override public void onResume() { latestImageMessages = new HashMap(); - Log.e("New hashmap"); super.onResume(); @@ -342,7 +372,6 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC newId = LinphoneActivity.instance().onMessageSent(sipUri, bitmap, url); } latestImageMessages.put(newId, url); - Log.e("Add " + newId + ", " + url + " to hashmap"); displayImageMessage(newId, bitmap, String.valueOf(System.currentTimeMillis()), false, State.InProgress, messagesLayout); scrollToEnd(); diff --git a/src/org/linphone/DialerFragment.java b/src/org/linphone/DialerFragment.java index abdb1f066..34beb33e0 100644 --- a/src/org/linphone/DialerFragment.java +++ b/src/org/linphone/DialerFragment.java @@ -159,8 +159,8 @@ public class DialerFragment extends Fragment { mAddContact.setEnabled(true); mAddContact.setImageResource(R.drawable.cancel); mAddContact.setOnClickListener(cancelListener); - } else { mAddress.setText(""); + } else { mCall.setImageResource(R.drawable.call); mAddContact.setEnabled(true); mAddContact.setImageResource(R.drawable.add_contact); diff --git a/src/org/linphone/FragmentsAvailable.java b/src/org/linphone/FragmentsAvailable.java index 0f4d50411..8853e1027 100644 --- a/src/org/linphone/FragmentsAvailable.java +++ b/src/org/linphone/FragmentsAvailable.java @@ -59,20 +59,20 @@ public enum FragmentsAvailable { case DIALER: return CONTACTS.isRightOf(fragment) || fragment == CONTACT || fragment == CONTACTS; - case ABOUT_INSTEAD_OF_SETTINGS: - case SETTINGS: - return DIALER.isRightOf(fragment) || fragment == DIALER; - - case ACCOUNT_SETTINGS: - return SETTINGS.isRightOf(fragment) || fragment == SETTINGS; - case ABOUT_INSTEAD_OF_CHAT: case CHATLIST: - return ACCOUNT_SETTINGS.isRightOf(fragment) || fragment == ACCOUNT_SETTINGS || fragment == FragmentsAvailable.ABOUT_INSTEAD_OF_SETTINGS; + return DIALER.isRightOf(fragment) || fragment == DIALER; case CHAT: return CHATLIST.isRightOf(fragment) || fragment == CHATLIST; + case ABOUT_INSTEAD_OF_SETTINGS: + case SETTINGS: + return CHATLIST.isRightOf(fragment) || fragment == CHATLIST || fragment == FragmentsAvailable.ABOUT_INSTEAD_OF_CHAT; + + case ACCOUNT_SETTINGS: + return SETTINGS.isRightOf(fragment) || fragment == SETTINGS; + default: return false; } diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 73a1f9878..ab4f3c07a 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -89,10 +89,11 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene private static final int callActivity = 19; private static LinphoneActivity instance; - + private StatusFragment statusFragment; private TextView missedCalls, missedChats; private ImageView dialer; + private LinearLayout menu, mark; private RelativeLayout contacts, history, settings, chat, aboutChat, aboutSettings; private FragmentsAvailable currentFragment, nextFragment; private Fragment dialerFragment, messageListenerFragment; @@ -161,6 +162,9 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene } private void initButtons() { + menu = (LinearLayout) findViewById(R.id.menu); + mark = (LinearLayout) findViewById(R.id.mark); + history = (RelativeLayout) findViewById(R.id.history); history.setOnClickListener(this); contacts = (RelativeLayout) findViewById(R.id.contacts); @@ -192,6 +196,23 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene missedChats = (TextView) findViewById(R.id.missedChats); } + private void hideStatusBar() { + if (statusFragment == null) { + return; + } + + statusFragment.getView().setVisibility(View.GONE); + findViewById(R.id.fragmentContainer).setPadding(0, 0, 0, 0); + } + private void showStatusBar() { + if (statusFragment == null) { + return; + } + + statusFragment.getView().setVisibility(View.VISIBLE); + findViewById(R.id.fragmentContainer).setPadding(0, LinphoneUtils.pixelsToDpi(getResources(), 40), 0, 0); + } + private void changeCurrentFragment(FragmentsAvailable newFragmentType, Bundle extras) { changeCurrentFragment(newFragmentType, extras, false); } @@ -263,8 +284,16 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene } private void changeFragment(Fragment newFragment, FragmentsAvailable newFragmentType, boolean withoutAnimation) { - if (statusFragment != null) { - statusFragment.closeStatusBar(); + if (getResources().getBoolean(R.bool.show_statusbar_only_on_dialer)) { + if (newFragmentType == FragmentsAvailable.DIALER) { + showStatusBar(); + } else { + hideStatusBar(); + } + } else { + if (statusFragment != null) { + statusFragment.closeStatusBar(); + } } FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); @@ -291,8 +320,16 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene } private void changeFragmentForTablets(Fragment newFragment, FragmentsAvailable newFragmentType, boolean withoutAnimation) { - if (statusFragment != null) { - statusFragment.closeStatusBar(); + if (getResources().getBoolean(R.bool.show_statusbar_only_on_dialer)) { + if (newFragmentType == FragmentsAvailable.DIALER) { + showStatusBar(); + } else { + hideStatusBar(); + } + } else { + if (statusFragment != null) { + statusFragment.closeStatusBar(); + } } LinearLayout ll = (LinearLayout) findViewById(R.id.fragmentContainer2); @@ -528,7 +565,12 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene public void updateChatFragment(ChatFragment fragment) { messageListenerFragment = fragment; // Hack to maintain ADJUST_PAN flag - getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); + getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + } + + public void hideMenu(boolean hide) { + menu.setVisibility(hide ? View.GONE : View.VISIBLE); + mark.setVisibility(hide ? View.GONE : View.VISIBLE); } public void updateStatusFragment(StatusFragment fragment) { @@ -756,12 +798,6 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene changeCurrentFragment(FragmentsAvailable.DIALER, null); } - public void onRegistrationStateChanged(RegistrationState state, String message) { - if (statusFragment != null) { - statusFragment.registrationStateChanged(state); - } - } - public void startVideoActivity(LinphoneCall currentCall) { Intent intent = new Intent(this, InCallActivity.class); intent.putExtra("VideoEnabled", true); diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index 15d71cd6e..fcf45e66e 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -515,7 +515,7 @@ public final class LinphoneService extends Service implements LinphoneServiceLis mHandler.post(new Runnable() { public void run() { if (LinphoneActivity.isInstanciated()) { - LinphoneActivity.instance().onRegistrationStateChanged(state, message); + LinphoneActivity.instance().onRegistrationStateChanged(state); } } });