Compare commits
6 Commits
1251-messa
...
password-a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6778a2dee8 | ||
|
|
ecb6661b12 | ||
|
|
677a6529f4 | ||
|
|
fb6c982e10 | ||
|
|
8e732d880f | ||
|
|
0b2594a693 |
@@ -10,6 +10,7 @@ import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.support.v4.app.TaskStackBuilder;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
|
||||
@@ -33,8 +34,10 @@ import org.briarproject.bramble.util.StringUtils;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.contact.ConversationActivity;
|
||||
import org.briarproject.briar.android.forum.ForumActivity;
|
||||
import org.briarproject.briar.android.login.SignInReminderReceiver;
|
||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
||||
import org.briarproject.briar.android.privategroup.conversation.GroupActivity;
|
||||
import org.briarproject.briar.android.splash.SplashScreenActivity;
|
||||
import org.briarproject.briar.android.util.BriarNotificationBuilder;
|
||||
import org.briarproject.briar.api.android.AndroidNotificationManager;
|
||||
import org.briarproject.briar.api.blog.event.BlogPostAddedEvent;
|
||||
@@ -62,13 +65,16 @@ import javax.inject.Inject;
|
||||
import static android.app.Notification.DEFAULT_LIGHTS;
|
||||
import static android.app.Notification.DEFAULT_SOUND;
|
||||
import static android.app.Notification.DEFAULT_VIBRATE;
|
||||
import static android.app.Notification.VISIBILITY_SECRET;
|
||||
import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
|
||||
import static android.app.NotificationManager.IMPORTANCE_LOW;
|
||||
import static android.content.Context.NOTIFICATION_SERVICE;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
import static android.support.v4.app.NotificationCompat.CATEGORY_MESSAGE;
|
||||
import static android.support.v4.app.NotificationCompat.CATEGORY_SOCIAL;
|
||||
import static android.support.v4.app.NotificationCompat.PRIORITY_LOW;
|
||||
import static android.support.v4.app.NotificationCompat.VISIBILITY_SECRET;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
||||
@@ -107,6 +113,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
|
||||
private int nextRequestId = 0;
|
||||
private ContactId blockedContact = null;
|
||||
private GroupId blockedGroup = null;
|
||||
private boolean blockSignInReminder = false;
|
||||
private boolean blockContacts = false, blockGroups = false;
|
||||
private boolean blockForums = false, blockBlogs = false;
|
||||
private boolean blockIntroductions = false;
|
||||
@@ -612,6 +619,57 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
|
||||
this::clearIntroductionSuccessNotification);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showSignInNotification() {
|
||||
if (blockSignInReminder) return;
|
||||
if (SDK_INT >= 26) {
|
||||
String title = appContext
|
||||
.getString(R.string.reminder_notification_channel_title);
|
||||
NotificationChannel channel =
|
||||
new NotificationChannel(REMINDER_CHANNEL_ID, title,
|
||||
IMPORTANCE_LOW);
|
||||
channel.setLockscreenVisibility(VISIBILITY_SECRET);
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
}
|
||||
|
||||
NotificationCompat.Builder b =
|
||||
new NotificationCompat.Builder(appContext, REMINDER_CHANNEL_ID);
|
||||
b.setSmallIcon(R.drawable.ic_signout);
|
||||
b.setColor(ContextCompat.getColor(appContext, R.color.briar_primary));
|
||||
b.setContentTitle(
|
||||
appContext.getText(R.string.reminder_notification_title));
|
||||
b.setContentText(
|
||||
appContext.getText(R.string.reminder_notification_text));
|
||||
b.setAutoCancel(true);
|
||||
b.setWhen(0); // Don't show the time
|
||||
b.setPriority(PRIORITY_LOW);
|
||||
|
||||
// Add a 'Dismiss' action
|
||||
String actionTitle =
|
||||
appContext.getString(R.string.reminder_notification_dismiss);
|
||||
Intent i1 = new Intent(appContext, SignInReminderReceiver.class);
|
||||
i1.setAction(ACTION_DISMISS_REMINDER);
|
||||
PendingIntent actionIntent =
|
||||
PendingIntent.getBroadcast(appContext, 0, i1, 0);
|
||||
b.addAction(0, actionTitle, actionIntent);
|
||||
|
||||
Intent i = new Intent(appContext, SplashScreenActivity.class);
|
||||
i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP);
|
||||
b.setContentIntent(PendingIntent.getActivity(appContext, 0, i, 0));
|
||||
|
||||
notificationManager.notify(REMINDER_NOTIFICATION_ID, b.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearSignInNotification() {
|
||||
notificationManager.cancel(REMINDER_NOTIFICATION_ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void blockSignInNotification() {
|
||||
blockSignInReminder = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void blockNotification(GroupId g) {
|
||||
androidExecutor.runOnUiThread((Runnable) () -> blockedGroup = g);
|
||||
|
||||
@@ -61,7 +61,7 @@ public abstract class BriarActivity extends BaseActivity {
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if (!briarController.accountSignedIn() && !isFinishing()) {
|
||||
if (!briarController.accountSignedIn()) {
|
||||
Intent i = new Intent(this, PasswordActivity.class);
|
||||
startActivityForResult(i, REQUEST_PASSWORD);
|
||||
} else if (SDK_INT >= 23) {
|
||||
|
||||
@@ -335,7 +335,7 @@ public class BlogFragment extends BaseFragment
|
||||
View.OnClickListener onClick = v -> list.smoothScrollToPosition(0);
|
||||
snackbar.setActionTextColor(ContextCompat
|
||||
.getColor(getContext(),
|
||||
R.color.briar_button_text_positive));
|
||||
R.color.briar_button_positive));
|
||||
snackbar.setAction(R.string.blogs_blog_post_scroll_to, onClick);
|
||||
}
|
||||
snackbar.show();
|
||||
|
||||
@@ -250,7 +250,7 @@ public class FeedFragment extends BaseFragment implements
|
||||
OnClickListener onClick = v -> list.smoothScrollToPosition(0);
|
||||
s.setActionTextColor(ContextCompat
|
||||
.getColor(getContext(),
|
||||
R.color.briar_button_text_positive));
|
||||
R.color.briar_button_positive));
|
||||
s.setAction(R.string.blogs_blog_post_scroll_to, onClick);
|
||||
}
|
||||
s.show();
|
||||
|
||||
@@ -103,7 +103,7 @@ public class ForumListFragment extends BaseEventFragment implements
|
||||
snackbar.getView().setBackgroundResource(R.color.briar_primary);
|
||||
snackbar.setAction(R.string.show, this);
|
||||
snackbar.setActionTextColor(ContextCompat
|
||||
.getColor(getContext(), R.color.briar_button_text_positive));
|
||||
.getColor(getContext(), R.color.briar_button_positive));
|
||||
|
||||
return contentView;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.briarproject.briar.android.login;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
@@ -20,22 +19,23 @@ import org.briarproject.briar.android.activity.BaseActivity;
|
||||
import org.briarproject.briar.android.controller.BriarController;
|
||||
import org.briarproject.briar.android.controller.handler.UiResultHandler;
|
||||
import org.briarproject.briar.android.util.UiUtils;
|
||||
import org.briarproject.briar.api.android.AndroidNotificationManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.content.Intent.ACTION_MAIN;
|
||||
import static android.content.Intent.CATEGORY_HOME;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||
import static android.view.View.INVISIBLE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_NOTIFICATION_ID;
|
||||
|
||||
public class PasswordActivity extends BaseActivity {
|
||||
|
||||
@Inject
|
||||
AccountManager accountManager;
|
||||
|
||||
@Inject
|
||||
AndroidNotificationManager notificationManager;
|
||||
|
||||
@Inject
|
||||
PasswordController passwordController;
|
||||
|
||||
@@ -54,7 +54,8 @@ public class PasswordActivity extends BaseActivity {
|
||||
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
|
||||
|
||||
if (!accountManager.accountExists()) {
|
||||
// TODO: Finish instead of deleting account?
|
||||
// This can happen on older devices if the app is relaunched from
|
||||
// recent apps after clearing data
|
||||
deleteAccount();
|
||||
return;
|
||||
}
|
||||
@@ -95,10 +96,8 @@ public class PasswordActivity extends BaseActivity {
|
||||
setResult(RESULT_OK);
|
||||
finish();
|
||||
} else {
|
||||
// Remove sign-in reminder notification
|
||||
NotificationManager nm = (NotificationManager)
|
||||
getSystemService(NOTIFICATION_SERVICE);
|
||||
nm.cancel(REMINDER_NOTIFICATION_ID);
|
||||
notificationManager.blockSignInNotification();
|
||||
notificationManager.clearSignInNotification();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,10 +108,8 @@ public class PasswordActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// Show the home screen rather than another password prompt
|
||||
Intent intent = new Intent(ACTION_MAIN);
|
||||
intent.addCategory(CATEGORY_HOME);
|
||||
startActivity(intent);
|
||||
// Move the whole task to the back, don't show another password prompt
|
||||
moveTaskToBack(true);
|
||||
}
|
||||
|
||||
private void deleteAccount() {
|
||||
|
||||
@@ -1,43 +1,29 @@
|
||||
package org.briarproject.briar.android.login;
|
||||
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
|
||||
import org.briarproject.bramble.api.account.AccountManager;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.AndroidComponent;
|
||||
import org.briarproject.briar.android.BriarApplication;
|
||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
||||
import org.briarproject.briar.api.android.AndroidNotificationManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.app.NotificationManager.IMPORTANCE_LOW;
|
||||
import static android.content.Context.NOTIFICATION_SERVICE;
|
||||
import static android.content.Intent.ACTION_BOOT_COMPLETED;
|
||||
import static android.content.Intent.ACTION_MY_PACKAGE_REPLACED;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
import static android.support.v4.app.NotificationCompat.PRIORITY_LOW;
|
||||
import static android.support.v4.app.NotificationCompat.VISIBILITY_SECRET;
|
||||
import static org.briarproject.briar.android.TestingConstants.FEATURE_FLAG_SIGN_IN_REMINDER;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.NOTIFY_SIGN_IN;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_CHANNEL_ID;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_NOTIFICATION_ID;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.ACTION_DISMISS_REMINDER;
|
||||
|
||||
public class SignInReminderReceiver extends BroadcastReceiver {
|
||||
|
||||
public static final String DISMISS_REMINDER = "dismissReminder";
|
||||
|
||||
@Inject
|
||||
AccountManager accountManager;
|
||||
@Inject
|
||||
AndroidNotificationManager notificationManager;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context ctx, Intent intent) {
|
||||
@@ -55,58 +41,12 @@ public class SignInReminderReceiver extends BroadcastReceiver {
|
||||
!accountManager.hasDatabaseKey()) {
|
||||
SharedPreferences prefs = app.getDefaultSharedPreferences();
|
||||
if (prefs.getBoolean(NOTIFY_SIGN_IN, true)) {
|
||||
showSignInNotification(ctx);
|
||||
notificationManager.showSignInNotification();
|
||||
}
|
||||
}
|
||||
} else if (action.equals(DISMISS_REMINDER)) {
|
||||
dismissReminder(ctx);
|
||||
} else if (action.equals(ACTION_DISMISS_REMINDER)) {
|
||||
notificationManager.clearSignInNotification();
|
||||
}
|
||||
}
|
||||
|
||||
private void showSignInNotification(Context ctx) {
|
||||
NotificationManager nm = (NotificationManager)
|
||||
ctx.getSystemService(NOTIFICATION_SERVICE);
|
||||
if (nm == null) return;
|
||||
|
||||
if (SDK_INT >= 26) {
|
||||
NotificationChannel channel =
|
||||
new NotificationChannel(REMINDER_CHANNEL_ID, ctx.getString(
|
||||
R.string.reminder_notification_channel_title),
|
||||
IMPORTANCE_LOW);
|
||||
channel.setLockscreenVisibility(VISIBILITY_SECRET);
|
||||
nm.createNotificationChannel(channel);
|
||||
}
|
||||
|
||||
NotificationCompat.Builder b =
|
||||
new NotificationCompat.Builder(ctx, REMINDER_CHANNEL_ID);
|
||||
b.setSmallIcon(R.drawable.ic_signout);
|
||||
b.setColor(ContextCompat.getColor(ctx, R.color.briar_primary));
|
||||
b.setContentTitle(ctx.getText(R.string.reminder_notification_title));
|
||||
b.setContentText(ctx.getText(R.string.reminder_notification_text));
|
||||
b.setAutoCancel(true);
|
||||
b.setWhen(0); // Don't show the time
|
||||
b.setPriority(PRIORITY_LOW);
|
||||
|
||||
// Add a 'Dismiss' action
|
||||
String actionTitle =
|
||||
ctx.getString(R.string.reminder_notification_dismiss);
|
||||
Intent i1 = new Intent(ctx, SignInReminderReceiver.class);
|
||||
i1.setAction(DISMISS_REMINDER);
|
||||
PendingIntent actionIntent = PendingIntent.getBroadcast(ctx, 0, i1, 0);
|
||||
b.addAction(0, actionTitle, actionIntent);
|
||||
|
||||
Intent i = new Intent(ctx, NavDrawerActivity.class);
|
||||
i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP);
|
||||
b.setContentIntent(PendingIntent.getActivity(ctx, 0, i, 0));
|
||||
|
||||
nm.notify(REMINDER_NOTIFICATION_ID, b.build());
|
||||
}
|
||||
|
||||
private void dismissReminder(Context ctx) {
|
||||
NotificationManager nm = (NotificationManager)
|
||||
ctx.getSystemService(NOTIFICATION_SERVICE);
|
||||
if (nm == null) return;
|
||||
nm.cancel(REMINDER_NOTIFICATION_ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public class GroupListFragment extends BaseFragment implements
|
||||
snackbar.getView().setBackgroundResource(R.color.briar_primary);
|
||||
snackbar.setAction(R.string.show, this);
|
||||
snackbar.setActionTextColor(ContextCompat
|
||||
.getColor(getContext(), R.color.briar_button_text_positive));
|
||||
.getColor(getContext(), R.color.briar_button_positive));
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,9 @@ public interface AndroidNotificationManager {
|
||||
String BLOG_URI = "content://org.briarproject.briar/blog";
|
||||
String INTRODUCTION_URI = "content://org.briarproject.briar/introduction";
|
||||
|
||||
// Actions for pending intents
|
||||
String ACTION_DISMISS_REMINDER = "dismissReminder";
|
||||
|
||||
void clearContactNotification(ContactId c);
|
||||
|
||||
void clearAllContactNotifications();
|
||||
@@ -67,6 +70,12 @@ public interface AndroidNotificationManager {
|
||||
|
||||
void clearAllIntroductionNotifications();
|
||||
|
||||
void showSignInNotification();
|
||||
|
||||
void clearSignInNotification();
|
||||
|
||||
void blockSignInNotification();
|
||||
|
||||
void blockContactNotification(ContactId c);
|
||||
|
||||
void unblockContactNotification(ContactId c);
|
||||
|
||||
BIN
briar-android/src/main/res/drawable-hdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/msg_out.9.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/msg_out_top.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/notice_in.9.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/notice_in_bottom.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/notice_out.9.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
briar-android/src/main/res/drawable-hdpi/notice_out_bottom.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/msg_out.9.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/msg_out_top.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/notice_in.9.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/notice_in_bottom.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/notice_out.9.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
briar-android/src/main/res/drawable-mdpi/notice_out_bottom.9.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
briar-android/src/main/res/drawable-night-hdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
briar-android/src/main/res/drawable-night-hdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
briar-android/src/main/res/drawable-night-mdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
briar-android/src/main/res/drawable-night-mdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
briar-android/src/main/res/drawable-night-xhdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
briar-android/src/main/res/drawable-night-xhdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
briar-android/src/main/res/drawable-night-xxhdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/msg_out.9.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/msg_out_top.9.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/notice_in.9.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/notice_in_bottom.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-xhdpi/notice_out.9.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/msg_in.9.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/msg_in_top.9.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/msg_out.9.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/msg_out_top.9.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/notice_in.9.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 16 KiB |
BIN
briar-android/src/main/res/drawable-xxhdpi/notice_out.9.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 16 KiB |
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_small"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_big"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/msg_in"/>
|
||||
</shape>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<stroke android:width="1dp" android:color="@color/msg_border"/>
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_small"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_big"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_small"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_big"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_top"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/msg_in"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_small"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/msg_out"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="0dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_small"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_top"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/msg_out"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_small"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_big"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/notice_in"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="0dp"
|
||||
android:topRightRadius="0dp"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_bottom"/>
|
||||
<solid
|
||||
android:color="@color/notice_in"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:topRightRadius="@dimen/message_bubble_radius_small"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_top"/>
|
||||
<solid
|
||||
android:color="@color/notice_out"/>
|
||||
</shape>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/message_bubble_radius_big"
|
||||
android:bottomRightRadius="@dimen/message_bubble_radius_big"
|
||||
android:topLeftRadius="0dp"
|
||||
android:topRightRadius="0dp"/>
|
||||
<padding
|
||||
android:bottom="@dimen/message_bubble_padding_bottom"
|
||||
android:left="@dimen/message_bubble_padding_sides"
|
||||
android:right="@dimen/message_bubble_padding_sides"
|
||||
android:top="@dimen/message_bubble_padding_bottom"/>
|
||||
<solid
|
||||
android:color="@color/notice_out"/>
|
||||
</shape>
|
||||
@@ -1,6 +1,6 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:width="42dp"
|
||||
android:height="42dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/continueButton"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/change_password"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/strength_meter"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/download_briar_button"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="@dimen/margin_large"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:onClick="onForgottenPasswordClick"
|
||||
android:text="@string/forgotten_password"
|
||||
android:textColor="?android:attr/textColorLink"/>
|
||||
|
||||
@@ -1,35 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/margin_small"
|
||||
tools:context=".android.blog.RssFeedImportActivity">
|
||||
tools:context=".android.blogs.RssFeedImportActivity">
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
<EditText
|
||||
android:id="@+id/urlInput"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:elevation="@dimen/cardview_default_elevation"
|
||||
app:cardBackgroundColor="@color/card_background"
|
||||
app:cardCornerRadius="0dp"
|
||||
app:cardUseCompatPadding="false">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/urlInput"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:gravity="top"
|
||||
android:hint="@string/blogs_rss_feeds_import_hint"
|
||||
android:inputType="textUri"
|
||||
android:padding="@dimen/margin_medium"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
android:gravity="top"
|
||||
android:hint="@string/blogs_rss_feeds_import_hint"
|
||||
android:inputType="textUri"
|
||||
android:paddingLeft="@dimen/margin_large"
|
||||
android:paddingRight="@dimen/margin_large"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/importButton"
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/continueButton"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_medium"
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/next"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_activity_horizontal"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/next"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/next"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
|
||||
@@ -5,29 +5,29 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/message_bubble_margin"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginTop="@dimen/message_bubble_margin"
|
||||
android:background="@drawable/msg_in"
|
||||
android:elevation="@dimen/message_bubble_elevation"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/text"
|
||||
style="@style/TextMessage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
tools:text="Short message"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
style="@style/TextMessage.Timestamp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|end"
|
||||
android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
|
||||
android:maxLines="1"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="Dec 24, 13:37"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -11,31 +11,30 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|end"
|
||||
android:layout_marginBottom="@dimen/message_bubble_margin"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginTop="@dimen/message_bubble_margin"
|
||||
android:background="@drawable/msg_out"
|
||||
android:elevation="@dimen/message_bubble_elevation">
|
||||
android:background="@drawable/msg_out">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/text"
|
||||
style="@style/TextMessage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/briar_text_primary_inverse"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
tools:text="This is a long long long message that spans over several lines.\n\nIt ends here."/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
style="@style/TextMessage.Timestamp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_below="@+id/text"
|
||||
android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/private_message_date_inverse"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="Dec 24, 13:37"/>
|
||||
|
||||
<ImageView
|
||||
|
||||
@@ -4,46 +4,50 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/message_bubble_margin"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginTop="@dimen/message_bubble_margin"
|
||||
android:padding="1px"
|
||||
android:background="@drawable/msg_in_border"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/msgText"
|
||||
style="@style/TextMessage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|start"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:background="@drawable/msg_in_top"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
tools:text="Short message"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:background="@drawable/notice_in_bottom">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/text"
|
||||
style="@style/TextMessage.Notice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="80dp"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
android:textStyle="italic"
|
||||
tools:text="@string/forum_invitation_received"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
style="@style/TextMessage.Timestamp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignEnd="@+id/text"
|
||||
android:layout_alignRight="@+id/text"
|
||||
android:layout_below="@+id/text"
|
||||
android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="Dec 24, 13:37"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -5,49 +5,48 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/message_bubble_margin"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/msgText"
|
||||
style="@style/TextMessage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_tail"
|
||||
android:background="@drawable/msg_out_top"
|
||||
android:elevation="@dimen/message_bubble_elevation"
|
||||
android:textColor="@color/briar_text_primary_inverse"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
tools:text="This is a long long long message that spans over several lines.\n\nIt ends here."/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/message_bubble_margin"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_tail"
|
||||
android:background="@drawable/notice_out_bottom"
|
||||
android:elevation="@dimen/message_bubble_elevation">
|
||||
android:background="@drawable/notice_out_bottom">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/text"
|
||||
style="@style/TextMessage.Notice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/private_message_date_inverse"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
android:textStyle="italic"
|
||||
tools:text="@string/introduction_request_received"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
style="@style/TextMessage.Timestamp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_below="@+id/text"
|
||||
android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
|
||||
android:textColor="@color/private_message_date_inverse"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="Dec 24, 13:37"/>
|
||||
|
||||
<android.support.v7.widget.AppCompatImageView
|
||||
@@ -58,7 +57,7 @@
|
||||
android:layout_marginLeft="@dimen/margin_medium"
|
||||
android:layout_toEndOf="@+id/time"
|
||||
android:layout_toRightOf="@+id/time"
|
||||
app:tint="@color/private_message_date_inverse"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/message_delivered"/>
|
||||
|
||||
|
||||
@@ -4,45 +4,49 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/message_bubble_margin"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:layout_marginTop="@dimen/message_bubble_margin"
|
||||
android:padding="1px"
|
||||
android:background="@drawable/msg_in_border"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/msgText"
|
||||
style="@style/TextMessage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:background="@drawable/msg_in_top"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
tools:text="Short message"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/message_bubble_margin_tail"
|
||||
android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
|
||||
android:background="@drawable/notice_in_bottom">
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/text"
|
||||
style="@style/TextMessage.Notice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="80dp"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
android:textStyle="italic"
|
||||
tools:text="@string/introduction_request_received"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time"
|
||||
style="@style/TextMessage.Timestamp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignEnd="@+id/text"
|
||||
android:layout_alignRight="@+id/text"
|
||||
android:layout_below="@+id/acceptButton"
|
||||
android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="Dec 24, 13:37"/>
|
||||
|
||||
<Button
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
style="@style/BriarButton"
|
||||
style="@style/BriarButton.Default"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
@@ -52,7 +52,7 @@
|
||||
android:layout_margin="8dp"
|
||||
android:contentDescription="@string/help"
|
||||
android:src="@drawable/ic_help_outline_white"
|
||||
android:tint="@color/briar_button_text_positive"
|
||||
android:tint="@color/briar_button_positive"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/button"/>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
android:layout_width="@dimen/avatar_forum_size"
|
||||
android:layout_height="@dimen/avatar_forum_size"
|
||||
android:layout_gravity="bottom|left"
|
||||
android:src="@color/briar_button_text_positive"/>
|
||||
android:src="@color/briar_button_positive"/>
|
||||
|
||||
<android.support.v7.widget.AppCompatTextView
|
||||
android:id="@+id/textAvatarView"
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
android:id="@+id/emoji_toggle"
|
||||
android:layout_width="@dimen/text_input_height"
|
||||
android:layout_height="@dimen/text_input_height"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/margin_small"
|
||||
android:scaleType="center"
|
||||
@@ -33,24 +32,21 @@
|
||||
android:layout_weight="1"
|
||||
android:background="@android:color/transparent"
|
||||
android:inputType="textMultiLine|textCapSentences"
|
||||
android:maxLines="4"
|
||||
android:maxLines="3"
|
||||
android:minHeight="@dimen/text_input_height"
|
||||
android:paddingLeft="2dp"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
tools:ignore="RtlSymmetry"/>
|
||||
android:textColorHint="?android:attr/textColorTertiary"/>
|
||||
|
||||
<android.support.v7.widget.AppCompatImageButton
|
||||
android:id="@+id/btn_send"
|
||||
android:layout_width="@dimen/text_input_height"
|
||||
android:layout_height="@dimen/text_input_height"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/send"
|
||||
android:enabled="false"
|
||||
android:focusable="true"
|
||||
android:padding="4dp"
|
||||
android:scaleType="center"
|
||||
android:padding="@dimen/margin_small"
|
||||
android:src="@drawable/social_send_now_white"
|
||||
app:tint="@color/briar_accent"/>
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
android:paddingRight="@dimen/margin_small"
|
||||
android:paddingTop="@dimen/margin_small"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textColorHint="?android:attr/textColorTertiary"
|
||||
tools:ignore="RtlSymmetry"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,30 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="briar_primary">@color/briar_blue_dark</color>
|
||||
<color name="briar_accent">@color/briar_green</color>
|
||||
|
||||
<color name="preference_category">@color/briar_accent</color>
|
||||
<color name="preference_category_background">@color/briar_black_almost</color>
|
||||
<color name="preference_category_background">@color/divider</color>
|
||||
|
||||
<color name="color_primary">@color/briar_white</color>
|
||||
|
||||
<color name="msg_in">@color/briar_blue</color>
|
||||
<color name="msg_out">@color/briar_blue_elio_light</color>
|
||||
<color name="notice_in">@color/briar_blue_dark</color>
|
||||
<color name="notice_out">@color/briar_blue_elio</color>
|
||||
<color name="msg_border">@color/briar_blue_very_dark</color>
|
||||
<color name="color_primary">#ffffff</color>
|
||||
|
||||
<color name="window_background">@color/briar_blue_very_dark</color>
|
||||
<color name="card_background">@color/briar_blue_dark</color>
|
||||
<color name="item_background_highlight">@color/briar_blue</color>
|
||||
<color name="divider">#000000</color>
|
||||
|
||||
<color name="briar_button_background_color">@color/briar_blue_medium</color>
|
||||
<color name="briar_button_text_neutral">@color/briar_blue_light</color>
|
||||
<color name="briar_button_neutral">@color/briar_link</color>
|
||||
<color name="briar_button_text_disabled">#23cccccc</color>
|
||||
|
||||
<color name="thread_indicator">@color/briar_blue</color>
|
||||
<color name="thread_item_background">@color/window_background</color>
|
||||
<color name="thread_item_highlight">@color/briar_black</color>
|
||||
<color name="thread_item_highlight">#000000</color>
|
||||
|
||||
<color name="divider">@color/briar_black</color>
|
||||
</resources>
|
||||
@@ -3,61 +3,42 @@
|
||||
<color name="briar_blue">#2D3E50</color>
|
||||
<color name="briar_blue_dark">#222E3C</color>
|
||||
<color name="briar_blue_very_dark">#0F1720</color>
|
||||
<color name="briar_blue_medium">#4F6C8C</color>
|
||||
<color name="briar_blue_elio">#236087</color>
|
||||
<color name="briar_blue_elio_light">#3C80A9</color>
|
||||
<color name="briar_blue_light">#2A93C6</color>
|
||||
<color name="briar_blue_grey">#EBEFF2</color>
|
||||
<color name="briar_blue_light">#4F6C8C</color>
|
||||
<color name="briar_green">#5C940D</color>
|
||||
<color name="briar_green_light">#95D220</color>
|
||||
<color name="briar_red">#ff0000</color>
|
||||
<color name="briar_white">#FFFFFF</color>
|
||||
<color name="briar_black">#000000</color>
|
||||
<color name="briar_black_almost">#080C10</color>
|
||||
<color name="briar_link">#2A93C6</color>
|
||||
|
||||
<color name="m_grey_300">#e0e0e0</color>
|
||||
<color name="m_grey_500">#9e9e9e</color>
|
||||
<color name="m_blue_grey_50">#eceff1</color>
|
||||
<color name="window_background">#fffafafa</color>
|
||||
<color name="card_background">@color/cardview_light_background</color>
|
||||
<color name="item_background_highlight">#DCDCDC</color>
|
||||
<color name="action_bar_text">#FFFFFF</color>
|
||||
<color name="private_message_date_inverse">#e0e0e0</color>
|
||||
<color name="forum_avatar_shadow">#99000000</color>
|
||||
|
||||
<color name="briar_primary">@color/briar_blue</color>
|
||||
<color name="briar_primary_dark">@color/briar_blue_very_dark</color>
|
||||
<color name="briar_accent">@color/briar_blue</color>
|
||||
|
||||
<color name="window_background">#E3EBEF</color>
|
||||
<color name="card_background">@color/cardview_light_background</color>
|
||||
<color name="item_background_highlight">#DCDCDC</color>
|
||||
<color name="briar_warning_background">@color/briar_red</color>
|
||||
<color name="action_bar_text">@color/briar_white</color>
|
||||
<color name="private_message_date_inverse">@color/m_grey_300</color>
|
||||
<color name="forum_avatar_shadow">#99000000</color>
|
||||
<color name="briar_accent">@color/briar_blue</color>
|
||||
|
||||
<color name="color_primary">#dd000000</color>
|
||||
|
||||
<color name="msg_in">@color/briar_white</color>
|
||||
<color name="msg_out">@color/briar_blue_elio_light</color>
|
||||
<color name="notice_in">@color/briar_blue_grey</color>
|
||||
<color name="notice_out">@color/briar_blue_elio</color>
|
||||
<color name="msg_border">@color/briar_blue_dark</color>
|
||||
|
||||
<!-- text colors -->
|
||||
<color name="briar_text_link">@color/briar_blue_light</color>
|
||||
<color name="briar_text_link">@color/briar_link</color>
|
||||
<color name="briar_text_primary">#df000000</color>
|
||||
<color name="briar_text_primary_inverse">@color/briar_white</color>
|
||||
<color name="briar_text_primary_inverse">#ffffff</color>
|
||||
<color name="briar_text_secondary_inverse">#b4ffffff</color>
|
||||
<color name="briar_text_tertiary_inverse">#80ffffff</color>
|
||||
|
||||
<color name="preference_category">@color/briar_blue_medium</color>
|
||||
<color name="preference_category">@color/briar_blue_light</color>
|
||||
<color name="preference_category_background">@color/window_background</color>
|
||||
|
||||
<color name="briar_button_background_color">@color/briar_accent</color>
|
||||
<color name="briar_button_text_positive">@color/briar_blue_light</color>
|
||||
<color name="briar_button_text_neutral">@color/briar_blue_medium</color>
|
||||
<color name="briar_button_text_negative">@color/briar_red</color>
|
||||
<color name="briar_button_positive">@color/briar_link</color>
|
||||
<color name="briar_button_neutral">@color/briar_blue_light</color>
|
||||
<color name="briar_button_negative">#ff0000</color>
|
||||
<color name="briar_button_text_disabled">#28000000</color>
|
||||
<color name="briar_warning_background">#ff0000</color>
|
||||
|
||||
<color name="thread_indicator">@color/m_grey_500</color>
|
||||
<color name="thread_item_background">@color/m_blue_grey_50</color>
|
||||
<color name="thread_item_highlight">@color/briar_white</color>
|
||||
|
||||
<color name="thread_indicator">#9e9e9e</color>
|
||||
<color name="thread_item_background">#eceff1</color>
|
||||
<color name="thread_item_highlight">#ffffff</color>
|
||||
<color name="divider">#c1c1c1</color>
|
||||
</resources>
|
||||
@@ -38,17 +38,9 @@
|
||||
<dimen name="unread_bubble_padding_horizontal">6dp</dimen>
|
||||
<dimen name="unread_bubble_size">19dp</dimen>
|
||||
|
||||
<dimen name="message_bubble_radius_big">16dp</dimen>
|
||||
<dimen name="message_bubble_radius_small">4dp</dimen>
|
||||
<dimen name="message_bubble_margin">6dp</dimen>
|
||||
<dimen name="message_bubble_padding_sides">12dp</dimen>
|
||||
<dimen name="message_bubble_padding_top">6dp</dimen>
|
||||
<dimen name="message_bubble_padding_bottom">4dp</dimen>
|
||||
<dimen name="message_bubble_timestamp_margin">4dp</dimen>
|
||||
<dimen name="message_bubble_elevation">2dp</dimen>
|
||||
<dimen name="message_bubble_margin_tail">8dp</dimen>
|
||||
<dimen name="message_bubble_margin_tail">3dp</dimen>
|
||||
<dimen name="message_bubble_margin_non_tail">30dp</dimen>
|
||||
|
||||
<dimen name="message_bubble_timestamp_margin">7dp</dimen>
|
||||
<dimen name="forum_nested_line_width">2dp</dimen>
|
||||
<dimen name="forum_nested_indicator">24dp</dimen>
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<item name="titleTextAppearance">@style/BriarToolbarTitleTextAppearance</item>
|
||||
<item name="subtitleTextAppearance">@style/BriarToolbarSubTitleTextAppearance</item>
|
||||
<item name="android:theme">@style/BriarToolbarTheme</item>
|
||||
<item name="popupTheme">@style/PopupMenu</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarToolbarTheme">
|
||||
@@ -24,35 +23,30 @@
|
||||
<item name="android:textColor">@color/briar_text_secondary_inverse</item>
|
||||
</style>
|
||||
|
||||
<style name="PopupMenu" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<item name="android:colorBackground">@color/window_background</item>
|
||||
</style>
|
||||
|
||||
<style name="ButtonTheme" parent="Theme.AppCompat.DayNight">
|
||||
<!-- A strange hack needed only to override button color on all API levels -->
|
||||
<item name="colorAccent">@color/briar_button_background_color</item>
|
||||
<style name="BriarButton.Default">
|
||||
<item name="android:textAllCaps">true</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarButton" parent="Widget.AppCompat.Button.Colored">
|
||||
<item name="android:theme">@style/ButtonTheme</item>
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:textColor">@color/button_text</item>
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
<item name="android:padding">@dimen/margin_large</item>
|
||||
<item name="android:textColor">@color/button_text</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarButtonFlat.Negative" parent="Widget.AppCompat.Button.Borderless">
|
||||
<item name="android:textColor">@color/briar_button_text_negative</item>
|
||||
<item name="android:textColor">@color/briar_button_negative</item>
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarButtonFlat.Positive" parent="Widget.AppCompat.Button.Borderless">
|
||||
<item name="android:textColor">@color/briar_button_text_positive</item>
|
||||
<item name="android:textColor">@color/briar_button_positive</item>
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
</style>
|
||||
|
||||
<style name="BriarButtonFlat.Neutral" parent="Widget.AppCompat.Button.Borderless">
|
||||
<item name="android:textColor">@color/briar_button_text_neutral</item>
|
||||
<item name="android:textColor">@color/briar_button_neutral</item>
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
</style>
|
||||
|
||||
@@ -73,8 +67,8 @@
|
||||
|
||||
<style name="Divider.ContactList" parent="Divider">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">1px</item>
|
||||
<item name="android:layout_marginLeft">72dp</item>
|
||||
<item name="android:layout_height">1dp</item>
|
||||
<item name="android:layout_marginLeft">@dimen/margin_large</item>
|
||||
</style>
|
||||
|
||||
<style name="Divider.ThreadItem" parent="Divider">
|
||||
@@ -87,26 +81,6 @@
|
||||
<item name="civ_border_color">?android:attr/textColorSecondary</item>
|
||||
</style>
|
||||
|
||||
<style name="TextMessage">
|
||||
<item name="android:textIsSelectable">true</item>
|
||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="TextMessage.Notice">
|
||||
<item name="android:textIsSelectable">true</item>
|
||||
<item name="android:textSize">@dimen/text_size_small</item>
|
||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||
<item name="android:textStyle">italic</item>
|
||||
</style>
|
||||
|
||||
<style name="TextMessage.Timestamp">
|
||||
<item name="android:textIsSelectable">false</item>
|
||||
<item name="android:textSize">@dimen/text_size_tiny</item>
|
||||
<item name="android:textColor">?android:attr/textColorTertiary</item>
|
||||
<item name="android:maxLines">1</item>
|
||||
</style>
|
||||
|
||||
<style name="DiscussionLevelIndicator">
|
||||
<item name="android:layout_marginLeft">4dp</item>
|
||||
<item name="android:background">@color/thread_indicator</item>
|
||||
|
||||