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);
|
||||||
imm.showSoftInput(mSearchEditText, InputMethodManager.SHOW_IMPLICIT);
|
if (imm != null) {
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +1,40 @@
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
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"/>
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<android.support.v7.widget.CardView
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
android:layout_marginBottom="@dimen/activity_vertical_margin"
|
|
||||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
|
||||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
|
||||||
android:layout_marginTop="@dimen/activity_vertical_margin">
|
|
||||||
|
|
||||||
<TextView
|
<android.support.v7.widget.CardView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:autoLink="web"
|
android:layout_marginBottom="@dimen/activity_vertical_margin"
|
||||||
android:fontFamily="monospace"
|
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||||
android:linksClickable="true"
|
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||||
android:padding="@dimen/card_padding_regular"
|
android:layout_marginTop="@dimen/activity_vertical_margin">
|
||||||
android:text="@string/pref_about_message"
|
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
<TextView
|
||||||
android:typeface="monospace"/>
|
android:layout_width="wrap_content"
|
||||||
</android.support.v7.widget.CardView>
|
android:layout_height="wrap_content"
|
||||||
|
android:autoLink="web"
|
||||||
|
android:fontFamily="monospace"
|
||||||
|
android:linksClickable="true"
|
||||||
|
android:padding="@dimen/card_padding_regular"
|
||||||
|
android:text="@string/pref_about_message"
|
||||||
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||||
|
android:typeface="monospace"/>
|
||||||
|
</android.support.v7.widget.CardView>
|
||||||
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
Loading…
Reference in a new issue