fixed some regressions introduced in toolbar migration
This commit is contained in:
		
							parent
							
								
									f2885575ba
								
							
						
					
					
						commit
						82ba4ce4fc
					
				|  | @ -83,6 +83,7 @@ import eu.siacs.conversations.ui.adapter.ListItemAdapter; | ||||||
| import eu.siacs.conversations.ui.interfaces.OnBackendConnected; | import eu.siacs.conversations.ui.interfaces.OnBackendConnected; | ||||||
| import eu.siacs.conversations.ui.service.EmojiService; | import eu.siacs.conversations.ui.service.EmojiService; | ||||||
| import eu.siacs.conversations.ui.util.DelayedHintHelper; | import eu.siacs.conversations.ui.util.DelayedHintHelper; | ||||||
|  | import eu.siacs.conversations.ui.util.PendingItem; | ||||||
| import eu.siacs.conversations.utils.XmppUri; | import eu.siacs.conversations.utils.XmppUri; | ||||||
| import eu.siacs.conversations.xmpp.OnUpdateBlocklist; | import eu.siacs.conversations.xmpp.OnUpdateBlocklist; | ||||||
| import eu.siacs.conversations.xmpp.XmppConnection; | import eu.siacs.conversations.xmpp.XmppConnection; | ||||||
|  | @ -110,8 +111,13 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 		public boolean onMenuItemActionExpand(MenuItem item) { | 		public boolean onMenuItemActionExpand(MenuItem item) { | ||||||
| 			mSearchEditText.post(() -> { | 			mSearchEditText.post(() -> { | ||||||
| 				mSearchEditText.requestFocus(); | 				mSearchEditText.requestFocus(); | ||||||
|  | 				if (oneShotKeyboardSuppress.compareAndSet(true,false)) { | ||||||
|  | 					return; | ||||||
|  | 				} | ||||||
| 				InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); | 				InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); | ||||||
|  | 				if (imm != null) { | ||||||
| 					imm.showSoftInput(mSearchEditText, InputMethodManager.SHOW_IMPLICIT); | 					imm.showSoftInput(mSearchEditText, InputMethodManager.SHOW_IMPLICIT); | ||||||
|  | 				} | ||||||
| 			}); | 			}); | ||||||
| 
 | 
 | ||||||
| 			return true; | 			return true; | ||||||
|  | @ -133,8 +139,7 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		@Override | 		@Override | ||||||
| 		public void beforeTextChanged(CharSequence s, int start, int count, | 		public void beforeTextChanged(CharSequence s, int start, int count, int after) { | ||||||
| 		                              int after) { |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		@Override | 		@Override | ||||||
|  | @ -173,7 +178,8 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	}; | 	}; | ||||||
| 	private String mInitialJid; | 	private final PendingItem<String> mInitialSearchValue = new PendingItem<>(); | ||||||
|  | 	private final AtomicBoolean oneShotKeyboardSuppress = new AtomicBoolean(); | ||||||
| 	private Pair<Integer, Intent> mPostponedActivityResult; | 	private Pair<Integer, Intent> mPostponedActivityResult; | ||||||
| 	private Toast mToast; | 	private Toast mToast; | ||||||
| 	private UiCallback<Conversation> mAdhocConferenceCallback = new UiCallback<Conversation>() { | 	private UiCallback<Conversation> mAdhocConferenceCallback = new UiCallback<Conversation>() { | ||||||
|  | @ -511,14 +517,24 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 		switchToConversation(conversation, body, false); | 		switchToConversation(conversation, body, false); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void invalidateOptionsMenu() { | ||||||
|  | 		boolean isExpanded = mMenuSearchView != null && mMenuSearchView.isActionViewExpanded(); | ||||||
|  | 		String text = mSearchEditText != null ? mSearchEditText.getText().toString() : ""; | ||||||
|  | 		if (isExpanded) { | ||||||
|  | 			mInitialSearchValue.push(text); | ||||||
|  | 			oneShotKeyboardSuppress.set(true); | ||||||
|  | 		} | ||||||
|  | 		super.invalidateOptionsMenu(); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	@Override | 	@Override | ||||||
| 	public boolean onCreateOptionsMenu(Menu menu) { | 	public boolean onCreateOptionsMenu(Menu menu) { | ||||||
| 		getMenuInflater().inflate(R.menu.start_conversation, menu); | 		getMenuInflater().inflate(R.menu.start_conversation, menu); | ||||||
| 		MenuItem menuHideOffline = menu.findItem(R.id.action_hide_offline); | 		MenuItem menuHideOffline = menu.findItem(R.id.action_hide_offline); | ||||||
| 		MenuItem joinGroupChat = menu.findItem(R.id.action_join_conference); | 		MenuItem joinGroupChat = menu.findItem(R.id.action_join_conference); | ||||||
| 		MenuItem qrCodeScanMenuItem = menu.findItem(R.id.action_scan_qr_code); | 		MenuItem qrCodeScanMenuItem = menu.findItem(R.id.action_scan_qr_code); | ||||||
| 		ActionBar bar = getSupportActionBar(); | 		joinGroupChat.setVisible(binding.startConversationViewPager.getCurrentItem() == 1); | ||||||
| 		joinGroupChat.setVisible(bar != null && binding.startConversationViewPager.getCurrentItem() == 1); |  | ||||||
| 		qrCodeScanMenuItem.setVisible(isCameraFeatureAvailable()); | 		qrCodeScanMenuItem.setVisible(isCameraFeatureAvailable()); | ||||||
| 		menuHideOffline.setChecked(this.mHideOfflineContacts); | 		menuHideOffline.setChecked(this.mHideOfflineContacts); | ||||||
| 		mMenuSearchView = menu.findItem(R.id.action_search); | 		mMenuSearchView = menu.findItem(R.id.action_search); | ||||||
|  | @ -527,10 +543,11 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 		mSearchEditText = mSearchView.findViewById(R.id.search_field); | 		mSearchEditText = mSearchView.findViewById(R.id.search_field); | ||||||
| 		mSearchEditText.addTextChangedListener(mSearchTextWatcher); | 		mSearchEditText.addTextChangedListener(mSearchTextWatcher); | ||||||
| 		mSearchEditText.setOnEditorActionListener(mSearchDone); | 		mSearchEditText.setOnEditorActionListener(mSearchDone); | ||||||
| 		if (mInitialJid != null) { | 		String initialSearchValue = mInitialSearchValue.pop(); | ||||||
|  | 		if (initialSearchValue != null) { | ||||||
| 			mMenuSearchView.expandActionView(); | 			mMenuSearchView.expandActionView(); | ||||||
| 			mSearchEditText.append(mInitialJid); | 			mSearchEditText.append(initialSearchValue); | ||||||
| 			filter(mInitialJid); | 			filter(initialSearchValue); | ||||||
| 		} | 		} | ||||||
| 		return super.onCreateOptionsMenu(menu); | 		return super.onCreateOptionsMenu(menu); | ||||||
| 	} | 	} | ||||||
|  | @ -775,7 +792,7 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU | ||||||
| 				mSearchEditText.append(invite.getJid().toString()); | 				mSearchEditText.append(invite.getJid().toString()); | ||||||
| 				filter(invite.getJid().toString()); | 				filter(invite.getJid().toString()); | ||||||
| 			} else { | 			} else { | ||||||
| 				mInitialJid = invite.getJid().toString(); | 				mInitialSearchValue.push(invite.getJid().toString()); | ||||||
| 			} | 			} | ||||||
| 			return true; | 			return true; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | @ -3,8 +3,8 @@ | ||||||
|               android:layout_width="match_parent" |               android:layout_width="match_parent" | ||||||
|               android:layout_height="match_parent" |               android:layout_height="match_parent" | ||||||
|               android:background="?attr/color_background_secondary" |               android:background="?attr/color_background_secondary" | ||||||
|     tools:context="eu.siacs.conversations.ui.AboutActivity" |               android:orientation="vertical" | ||||||
|     android:orientation="vertical"> |               tools:context="eu.siacs.conversations.ui.AboutActivity"> | ||||||
| 
 | 
 | ||||||
|     <include layout="@layout/toolbar"/> |     <include layout="@layout/toolbar"/> | ||||||
| 
 | 
 | ||||||
|  | @ -12,6 +12,10 @@ | ||||||
|         android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|         android:layout_height="match_parent"> |         android:layout_height="match_parent"> | ||||||
| 
 | 
 | ||||||
|  |         <LinearLayout | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content"> | ||||||
|  | 
 | ||||||
|             <android.support.v7.widget.CardView |             <android.support.v7.widget.CardView | ||||||
|                 android:layout_width="match_parent" |                 android:layout_width="match_parent" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="wrap_content" | ||||||
|  | @ -31,5 +35,6 @@ | ||||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Body1" |                     android:textAppearance="@style/TextAppearance.AppCompat.Body1" | ||||||
|                     android:typeface="monospace"/> |                     android:typeface="monospace"/> | ||||||
|             </android.support.v7.widget.CardView> |             </android.support.v7.widget.CardView> | ||||||
|  |         </LinearLayout> | ||||||
|     </ScrollView> |     </ScrollView> | ||||||
| </LinearLayout> | </LinearLayout> | ||||||
		Loading…
	
		Reference in New Issue
	
	 Daniel Gultsch
						Daniel Gultsch