mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-22 13:51:29 +00:00
WIP
This commit is contained in:
parent
8aa214bd7d
commit
9378818b73
@ -52,12 +52,6 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/settingsButton"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:src="@drawable/ic_gear" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v7.widget.Toolbar>
|
</android.support.v7.widget.Toolbar>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
android:id="@+id/conversation_search_nav"
|
android:id="@+id/conversation_search_nav"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?conversation_background"
|
android:background="@color/compose_view_background"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible"
|
tools:visibility="visible"
|
||||||
tools:parentTag="android.support.constraint.ConstraintLayout">
|
tools:parentTag="android.support.constraint.ConstraintLayout">
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
<!-- <item android:title="@string/conversation__menu_conversation_settings"
|
<!-- <item android:title="@string/conversation__menu_conversation_settings"
|
||||||
android:id="@+id/menu_conversation_settings"/> -->
|
android:id="@+id/menu_conversation_settings"/> -->
|
||||||
|
|
||||||
|
|
||||||
<item android:title="@string/SearchToolbar_search"
|
<item android:title="@string/SearchToolbar_search"
|
||||||
android:id="@+id/menu_search"
|
android:id="@+id/menu_search"
|
||||||
app:actionViewClass="android.support.v7.widget.SearchView"
|
app:actionViewClass="android.support.v7.widget.SearchView"
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
<color name="signal_primary">@color/accent</color>
|
<color name="signal_primary">@color/accent</color>
|
||||||
<color name="signal_primary_dark">@color/accent</color>
|
<color name="signal_primary_dark">@color/accent</color>
|
||||||
<color name="signal_primary_alpha33">#5578be20</color>
|
<color name="signal_primary_alpha33">#5500F782</color>
|
||||||
<color name="signal_primary_alpha_focus">#882090ea</color>
|
<color name="signal_primary_alpha_focus">#882090ea</color>
|
||||||
|
|
||||||
<color name="textsecure_primary">@color/signal_primary</color>
|
<color name="textsecure_primary">@color/signal_primary</color>
|
||||||
|
@ -108,10 +108,10 @@ public class SendButton extends AppCompatImageButton
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onLongClick(View v) {
|
public boolean onLongClick(View v) {
|
||||||
if (isEnabled() && transportOptions.getEnabledTransports().size() > 1) {
|
// if (isEnabled() && transportOptions.getEnabledTransports().size() > 1) {
|
||||||
getTransportOptionsPopup().display(transportOptions.getEnabledTransports());
|
// getTransportOptionsPopup().display(transportOptions.getEnabledTransports());
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ import android.content.res.TypedArray;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.hardware.Camera;
|
import android.hardware.Camera;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@ -45,14 +46,18 @@ import android.support.annotation.Nullable;
|
|||||||
import android.support.v4.content.pm.ShortcutInfoCompat;
|
import android.support.v4.content.pm.ShortcutInfoCompat;
|
||||||
import android.support.v4.content.pm.ShortcutManagerCompat;
|
import android.support.v4.content.pm.ShortcutManagerCompat;
|
||||||
import android.support.v4.graphics.drawable.IconCompat;
|
import android.support.v4.graphics.drawable.IconCompat;
|
||||||
|
import android.support.v4.view.MenuItemCompat;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
|
import android.support.v7.widget.SearchView;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
@ -204,6 +209,7 @@ import org.thoughtcrime.securesms.util.Dialogs;
|
|||||||
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
||||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
|
import org.thoughtcrime.securesms.util.ExpirationUtil;
|
||||||
import org.thoughtcrime.securesms.util.GroupUtil;
|
import org.thoughtcrime.securesms.util.GroupUtil;
|
||||||
import org.thoughtcrime.securesms.util.IdentityUtil;
|
import org.thoughtcrime.securesms.util.IdentityUtil;
|
||||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||||
@ -660,130 +666,130 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
// MenuInflater inflater = this.getMenuInflater();
|
MenuInflater inflater = this.getMenuInflater();
|
||||||
// menu.clear();
|
menu.clear();
|
||||||
//
|
|
||||||
// boolean isLokiPublicChat = isGroupConversation(); // TODO: Figure out a better way of determining this
|
boolean isLokiPublicChat = isGroupConversation(); // TODO: Figure out a better way of determining this
|
||||||
//
|
|
||||||
// if (isSecureText && !isLokiPublicChat) { // TODO:
|
if (isSecureText && !isLokiPublicChat) { // TODO:
|
||||||
// if (recipient.getExpireMessages() > 0) {
|
if (recipient.getExpireMessages() > 0) {
|
||||||
// inflater.inflate(R.menu.conversation_expiring_on, menu);
|
inflater.inflate(R.menu.conversation_expiring_on, menu);
|
||||||
//
|
|
||||||
// final MenuItem item = menu.findItem(R.id.menu_expiring_messages);
|
final MenuItem item = menu.findItem(R.id.menu_expiring_messages);
|
||||||
// final View actionView = MenuItemCompat.getActionView(item);
|
final View actionView = MenuItemCompat.getActionView(item);
|
||||||
// final TextView badgeView = actionView.findViewById(R.id.expiration_badge);
|
final TextView badgeView = actionView.findViewById(R.id.expiration_badge);
|
||||||
//
|
|
||||||
// badgeView.setText(ExpirationUtil.getExpirationAbbreviatedDisplayValue(this, recipient.getExpireMessages()));
|
badgeView.setText(ExpirationUtil.getExpirationAbbreviatedDisplayValue(this, recipient.getExpireMessages()));
|
||||||
// actionView.setOnClickListener(v -> onOptionsItemSelected(item));
|
actionView.setOnClickListener(v -> onOptionsItemSelected(item));
|
||||||
// } else {
|
} else {
|
||||||
// inflater.inflate(R.menu.conversation_expiring_off, menu);
|
inflater.inflate(R.menu.conversation_expiring_off, menu);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (isSingleConversation()) {
|
if (isSingleConversation()) {
|
||||||
// /*
|
/*
|
||||||
// if (isSecureText) inflater.inflate(R.menu.conversation_callable_secure, menu);
|
if (isSecureText) inflater.inflate(R.menu.conversation_callable_secure, menu);
|
||||||
// else inflater.inflate(R.menu.conversation_callable_insecure, menu);
|
else inflater.inflate(R.menu.conversation_callable_insecure, menu);
|
||||||
// */
|
*/
|
||||||
// } else if (isGroupConversation() && !isLokiPublicChat) {
|
} else if (isGroupConversation() && !isLokiPublicChat) {
|
||||||
// inflater.inflate(R.menu.conversation_group_options, menu);
|
inflater.inflate(R.menu.conversation_group_options, menu);
|
||||||
//
|
|
||||||
// if (!isPushGroupConversation()) {
|
if (!isPushGroupConversation()) {
|
||||||
// inflater.inflate(R.menu.conversation_mms_group_options, menu);
|
inflater.inflate(R.menu.conversation_mms_group_options, menu);
|
||||||
// if (distributionType == ThreadDatabase.DistributionTypes.BROADCAST) {
|
if (distributionType == ThreadDatabase.DistributionTypes.BROADCAST) {
|
||||||
// menu.findItem(R.id.menu_distribution_broadcast).setChecked(true);
|
menu.findItem(R.id.menu_distribution_broadcast).setChecked(true);
|
||||||
// } else {
|
} else {
|
||||||
// menu.findItem(R.id.menu_distribution_conversation).setChecked(true);
|
menu.findItem(R.id.menu_distribution_conversation).setChecked(true);
|
||||||
// }
|
}
|
||||||
// } else if (isActiveGroup()) {
|
} else if (isActiveGroup()) {
|
||||||
// inflater.inflate(R.menu.conversation_push_group_options, menu);
|
inflater.inflate(R.menu.conversation_push_group_options, menu);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// inflater.inflate(R.menu.conversation, menu);
|
inflater.inflate(R.menu.conversation, menu);
|
||||||
//
|
|
||||||
// if (isSingleConversation() && isSecureText) {
|
if (isSingleConversation() && isSecureText) {
|
||||||
// inflater.inflate(R.menu.conversation_secure, menu);
|
inflater.inflate(R.menu.conversation_secure, menu);
|
||||||
// } else if (isSingleConversation()) {
|
} else if (isSingleConversation()) {
|
||||||
// inflater.inflate(R.menu.conversation_insecure, menu);
|
inflater.inflate(R.menu.conversation_insecure, menu);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (recipient != null && recipient.isMuted()) inflater.inflate(R.menu.conversation_muted, menu);
|
if (recipient != null && recipient.isMuted()) inflater.inflate(R.menu.conversation_muted, menu);
|
||||||
// else inflater.inflate(R.menu.conversation_unmuted, menu);
|
else inflater.inflate(R.menu.conversation_unmuted, menu);
|
||||||
//
|
|
||||||
// /*
|
/*
|
||||||
// if (isSingleConversation() && getRecipient().getContactUri() == null) {
|
if (isSingleConversation() && getRecipient().getContactUri() == null) {
|
||||||
// inflater.inflate(R.menu.conversation_add_to_contacts, menu);
|
inflater.inflate(R.menu.conversation_add_to_contacts, menu);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// if (recipient != null && recipient.isLocalNumber()) {
|
if (recipient != null && recipient.isLocalNumber()) {
|
||||||
// if (isSecureText) menu.findItem(R.id.menu_call_secure).setVisible(false);
|
if (isSecureText) menu.findItem(R.id.menu_call_secure).setVisible(false);
|
||||||
// else menu.findItem(R.id.menu_call_insecure).setVisible(false);
|
else menu.findItem(R.id.menu_call_insecure).setVisible(false);
|
||||||
//
|
|
||||||
// MenuItem muteItem = menu.findItem(R.id.menu_mute_notifications);
|
MenuItem muteItem = menu.findItem(R.id.menu_mute_notifications);
|
||||||
//
|
|
||||||
// if (muteItem != null) {
|
if (muteItem != null) {
|
||||||
// muteItem.setVisible(false);
|
muteItem.setVisible(false);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// */
|
*/
|
||||||
//
|
|
||||||
// searchViewItem = menu.findItem(R.id.menu_search);
|
searchViewItem = menu.findItem(R.id.menu_search);
|
||||||
//
|
|
||||||
// SearchView searchView = (SearchView) searchViewItem.getActionView();
|
SearchView searchView = (SearchView) searchViewItem.getActionView();
|
||||||
// SearchView.OnQueryTextListener queryListener = new SearchView.OnQueryTextListener() {
|
SearchView.OnQueryTextListener queryListener = new SearchView.OnQueryTextListener() {
|
||||||
// @Override
|
@Override
|
||||||
// public boolean onQueryTextSubmit(String query) {
|
public boolean onQueryTextSubmit(String query) {
|
||||||
// searchViewModel.onQueryUpdated(query, threadId);
|
searchViewModel.onQueryUpdated(query, threadId);
|
||||||
// searchNav.showLoading();
|
searchNav.showLoading();
|
||||||
// fragment.onSearchQueryUpdated(query);
|
fragment.onSearchQueryUpdated(query);
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Override
|
@Override
|
||||||
// public boolean onQueryTextChange(String query) {
|
public boolean onQueryTextChange(String query) {
|
||||||
// searchViewModel.onQueryUpdated(query, threadId);
|
searchViewModel.onQueryUpdated(query, threadId);
|
||||||
// searchNav.showLoading();
|
searchNav.showLoading();
|
||||||
// fragment.onSearchQueryUpdated(query);
|
fragment.onSearchQueryUpdated(query);
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
// };
|
};
|
||||||
//
|
|
||||||
// searchViewItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
|
searchViewItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
|
||||||
// @Override
|
@Override
|
||||||
// public boolean onMenuItemActionExpand(MenuItem item) {
|
public boolean onMenuItemActionExpand(MenuItem item) {
|
||||||
// searchView.setOnQueryTextListener(queryListener);
|
searchView.setOnQueryTextListener(queryListener);
|
||||||
// searchViewModel.onSearchOpened();
|
searchViewModel.onSearchOpened();
|
||||||
// searchNav.setVisibility(View.VISIBLE);
|
searchNav.setVisibility(View.VISIBLE);
|
||||||
// searchNav.setData(0, 0);
|
searchNav.setData(0, 0);
|
||||||
// inputPanel.setVisibility(View.GONE);
|
inputPanel.setVisibility(View.GONE);
|
||||||
//
|
|
||||||
// for (int i = 0; i < menu.size(); i++) {
|
for (int i = 0; i < menu.size(); i++) {
|
||||||
// if (!menu.getItem(i).equals(searchViewItem)) {
|
if (!menu.getItem(i).equals(searchViewItem)) {
|
||||||
// menu.getItem(i).setVisible(false);
|
menu.getItem(i).setVisible(false);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Override
|
@Override
|
||||||
// public boolean onMenuItemActionCollapse(MenuItem item) {
|
public boolean onMenuItemActionCollapse(MenuItem item) {
|
||||||
// searchView.setOnQueryTextListener(null);
|
searchView.setOnQueryTextListener(null);
|
||||||
// searchViewModel.onSearchClosed();
|
searchViewModel.onSearchClosed();
|
||||||
// searchNav.setVisibility(View.GONE);
|
searchNav.setVisibility(View.GONE);
|
||||||
// inputPanel.setVisibility(View.VISIBLE);
|
inputPanel.setVisibility(View.VISIBLE);
|
||||||
// fragment.onSearchQueryUpdated(null);
|
fragment.onSearchQueryUpdated(null);
|
||||||
// invalidateOptionsMenu();
|
invalidateOptionsMenu();
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
//
|
|
||||||
// super.onPrepareOptionsMenu(menu);
|
super.onPrepareOptionsMenu(menu);
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
@ -1640,6 +1646,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
protected void initializeActionBar() {
|
protected void initializeActionBar() {
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
toolbar.getOverflowIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
ActionBar supportActionBar = getSupportActionBar();
|
ActionBar supportActionBar = getSupportActionBar();
|
||||||
@ -2933,7 +2940,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageActionToolbarOpened() {
|
public void onMessageActionToolbarOpened() {
|
||||||
// searchViewItem.collapseActionView();
|
searchViewItem.collapseActionView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -486,7 +486,7 @@ public class ConversationItem extends LinearLayout
|
|||||||
bodyText.setVisibility(View.GONE);
|
bodyText.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
Spannable text = MentionUtilities.highlightMentions(linkifyMessageBody(messageRecord.getDisplayBody(context), batchSelected.isEmpty()), messageRecord.isOutgoing(), messageRecord.getThreadId(), context);
|
Spannable text = MentionUtilities.highlightMentions(linkifyMessageBody(messageRecord.getDisplayBody(context), batchSelected.isEmpty()), messageRecord.isOutgoing(), messageRecord.getThreadId(), context);
|
||||||
text = SearchUtil.getHighlightedSpan(locale, () -> new BackgroundColorSpan(Color.YELLOW), text, searchQuery);
|
text = SearchUtil.getHighlightedSpan(locale, () -> new BackgroundColorSpan(Color.WHITE), text, searchQuery);
|
||||||
text = SearchUtil.getHighlightedSpan(locale, () -> new ForegroundColorSpan(Color.BLACK), text, searchQuery);
|
text = SearchUtil.getHighlightedSpan(locale, () -> new ForegroundColorSpan(Color.BLACK), text, searchQuery);
|
||||||
|
|
||||||
if (hasExtraText(messageRecord)) {
|
if (hasExtraText(messageRecord)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user