Compare commits
7 Commits
1821-bluet
...
beta-1.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3fb27dbb12 | ||
|
|
831c65b647 | ||
|
|
afcd38b84c | ||
|
|
6005d156eb | ||
|
|
94dd75f24b | ||
|
|
c93e5441b0 | ||
|
|
8ec8cc927b |
@@ -11,8 +11,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 29
|
||||
versionCode 10213
|
||||
versionName "1.2.13"
|
||||
versionCode 10214
|
||||
versionName "1.2.14"
|
||||
consumerProguardFiles 'proguard-rules.txt'
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
1
briar-android/artwork/notification_signout.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z" /></svg>
|
||||
|
After Width: | Height: | Size: 423 B |
@@ -22,9 +22,11 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 29
|
||||
versionCode 10213
|
||||
versionName "1.2.13"
|
||||
versionCode 10214
|
||||
versionName "1.2.14"
|
||||
applicationId "org.briarproject.briar.android"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
buildConfigField "String", "GitHash",
|
||||
"\"${getStdout(['git', 'rev-parse', '--short=7', 'HEAD'], 'No commit hash')}\""
|
||||
def now = (long) (System.currentTimeMillis() / 1000)
|
||||
|
||||
@@ -448,12 +448,6 @@
|
||||
android:label="@string/pending_contact_requests"
|
||||
android:theme="@style/BriarTheme" />
|
||||
|
||||
<activity
|
||||
android:name=".android.bluetoothsetup.BluetoothSetupActivity"
|
||||
android:label="Bluetooth Setup"
|
||||
android:theme="@style/BriarTheme"
|
||||
android:windowSoftInputMode="adjustResize|stateHidden" />
|
||||
|
||||
</application>
|
||||
|
||||
<queries>
|
||||
|
||||
@@ -255,7 +255,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
|
||||
R.string.ongoing_notification_title;
|
||||
int text = locked ? R.string.lock_tap_to_unlock :
|
||||
R.string.ongoing_notification_text;
|
||||
int icon = locked ? R.drawable.startup_lock :
|
||||
int icon = locked ? R.drawable.notification_lock :
|
||||
R.drawable.notification_ongoing;
|
||||
// Ongoing foreground notification that shows BriarService is running
|
||||
NotificationCompat.Builder b =
|
||||
@@ -624,7 +624,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
|
||||
|
||||
NotificationCompat.Builder b =
|
||||
new NotificationCompat.Builder(appContext, REMINDER_CHANNEL_ID);
|
||||
b.setSmallIcon(R.drawable.ic_signout);
|
||||
b.setSmallIcon(R.drawable.notification_signout);
|
||||
b.setColor(getColor(appContext, R.color.briar_primary));
|
||||
b.setContentTitle(
|
||||
appContext.getText(R.string.reminder_notification_title));
|
||||
|
||||
@@ -30,15 +30,14 @@ import org.briarproject.bramble.util.StringUtils;
|
||||
import org.briarproject.briar.android.account.DozeHelperModule;
|
||||
import org.briarproject.briar.android.account.LockManagerImpl;
|
||||
import org.briarproject.briar.android.account.SetupModule;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupModule;
|
||||
import org.briarproject.briar.android.contact.ContactListModule;
|
||||
import org.briarproject.briar.android.forum.ForumModule;
|
||||
import org.briarproject.briar.android.keyagreement.ContactExchangeModule;
|
||||
import org.briarproject.briar.android.login.LoginModule;
|
||||
import org.briarproject.briar.android.navdrawer.NavDrawerModule;
|
||||
import org.briarproject.briar.android.settings.SettingsModule;
|
||||
import org.briarproject.briar.android.privategroup.list.GroupListModule;
|
||||
import org.briarproject.briar.android.reporting.DevReportModule;
|
||||
import org.briarproject.briar.android.settings.SettingsModule;
|
||||
import org.briarproject.briar.android.test.TestAvatarCreatorImpl;
|
||||
import org.briarproject.briar.android.viewmodel.ViewModelModule;
|
||||
import org.briarproject.briar.api.android.AndroidNotificationManager;
|
||||
@@ -79,7 +78,6 @@ import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
|
||||
SettingsModule.class,
|
||||
DevReportModule.class,
|
||||
ContactListModule.class,
|
||||
BluetoothSetupModule.class,
|
||||
// below need to be within same scope as ViewModelProvider.Factory
|
||||
ForumModule.BindsModule.class,
|
||||
GroupListModule.class,
|
||||
|
||||
@@ -20,10 +20,6 @@ import org.briarproject.briar.android.blog.ReblogFragment;
|
||||
import org.briarproject.briar.android.blog.RssFeedImportActivity;
|
||||
import org.briarproject.briar.android.blog.RssFeedManageActivity;
|
||||
import org.briarproject.briar.android.blog.WriteBlogPostActivity;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupActivity;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupChooseFragment;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupPendingFragment;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupStartFragment;
|
||||
import org.briarproject.briar.android.contact.ContactListFragment;
|
||||
import org.briarproject.briar.android.contact.add.remote.AddContactActivity;
|
||||
import org.briarproject.briar.android.contact.add.remote.LinkExchangeFragment;
|
||||
@@ -190,8 +186,6 @@ public interface ActivityComponent {
|
||||
|
||||
void inject(CrashReportActivity crashReportActivity);
|
||||
|
||||
void inject(BluetoothSetupActivity activity);
|
||||
|
||||
// Fragments
|
||||
|
||||
void inject(AuthorNameFragment fragment);
|
||||
@@ -248,10 +242,4 @@ public interface ActivityComponent {
|
||||
|
||||
void inject(ConfirmAvatarDialogFragment fragment);
|
||||
|
||||
void inject(BluetoothSetupStartFragment fragment);
|
||||
|
||||
void inject(BluetoothSetupChooseFragment fragment);
|
||||
|
||||
void inject(BluetoothSetupPendingFragment fragment);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.activity.BriarActivity;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class BluetoothSetupActivity extends BriarActivity implements
|
||||
BaseFragmentListener {
|
||||
|
||||
@Inject
|
||||
ViewModelProvider.Factory viewModelFactory;
|
||||
private BluetoothSetupViewModel viewModel;
|
||||
|
||||
@Override
|
||||
public void injectActivity(ActivityComponent component) {
|
||||
component.inject(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle state) {
|
||||
super.onCreate(state);
|
||||
setContentView(R.layout.activity_fragment_container);
|
||||
|
||||
ActionBar ab = getSupportActionBar();
|
||||
if (ab != null) {
|
||||
ab.setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
viewModel = new ViewModelProvider(this, viewModelFactory)
|
||||
.get(BluetoothSetupViewModel.class);
|
||||
|
||||
if (state == null) {
|
||||
showInitialFragment(new BluetoothSetupStartFragment());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class BluetoothSetupChooseFragment extends BaseFragment {
|
||||
private static final String TAG =
|
||||
BluetoothSetupChooseFragment.class.getName();
|
||||
|
||||
@Inject
|
||||
ViewModelProvider.Factory viewModelFactory;
|
||||
|
||||
private BluetoothSetupViewModel viewModel;
|
||||
|
||||
@Override
|
||||
public String getUniqueTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectFragment(ActivityComponent component) {
|
||||
component.inject(this);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
@Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState) {
|
||||
if (getActivity() == null || getContext() == null) return null;
|
||||
|
||||
viewModel = new ViewModelProvider(requireActivity())
|
||||
.get(BluetoothSetupViewModel.class);
|
||||
|
||||
View v =
|
||||
inflater.inflate(R.layout.fragment_bluetooth_setup_choose,
|
||||
container, false);
|
||||
|
||||
// TODO to enable when user picks a device from list
|
||||
|
||||
Button continueButton = v.findViewById(R.id.continueButton);
|
||||
continueButton.setOnClickListener(view -> {
|
||||
showNextFragment(new BluetoothSetupPendingFragment());
|
||||
});
|
||||
continueButton.setEnabled(true);
|
||||
|
||||
// RecyclerView devices = v.findViewById(R.id.devices);
|
||||
// devices.setHasFixedSize(true);
|
||||
// final LinearLayoutManager layoutManager =
|
||||
// new LinearLayoutManager(getActivity(),
|
||||
// LinearLayoutManager.VERTICAL, false);
|
||||
// devices.setLayoutManager(layoutManager);
|
||||
|
||||
return v;
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import org.briarproject.briar.android.viewmodel.ViewModelKey;
|
||||
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import dagger.Binds;
|
||||
import dagger.Module;
|
||||
import dagger.multibindings.IntoMap;
|
||||
|
||||
@Module
|
||||
public abstract class BluetoothSetupModule {
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ViewModelKey(BluetoothSetupViewModel.class)
|
||||
abstract ViewModel bindBluetoothSetupViewModel(
|
||||
BluetoothSetupViewModel bluetoothSetupViewModel);
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class BluetoothSetupPendingFragment extends BaseFragment {
|
||||
private static final String TAG =
|
||||
BluetoothSetupPendingFragment.class.getName();
|
||||
|
||||
@Inject
|
||||
ViewModelProvider.Factory viewModelFactory;
|
||||
|
||||
private BluetoothSetupViewModel viewModel;
|
||||
|
||||
@Override
|
||||
public String getUniqueTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectFragment(ActivityComponent component) {
|
||||
component.inject(this);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
@Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState) {
|
||||
if (getActivity() == null || getContext() == null) return null;
|
||||
|
||||
viewModel = new ViewModelProvider(requireActivity())
|
||||
.get(BluetoothSetupViewModel.class);
|
||||
|
||||
View v = inflater.inflate(R.layout.fragment_bluetooth_setup_pending,
|
||||
container, false);
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
private void onContinueButtonClicked() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class BluetoothSetupStartFragment extends BaseFragment {
|
||||
private static final String TAG =
|
||||
BluetoothSetupStartFragment.class.getName();
|
||||
|
||||
@Inject
|
||||
ViewModelProvider.Factory viewModelFactory;
|
||||
|
||||
private BluetoothSetupViewModel viewModel;
|
||||
|
||||
@Override
|
||||
public String getUniqueTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectFragment(ActivityComponent component) {
|
||||
component.inject(this);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
@Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState) {
|
||||
if (getActivity() == null || getContext() == null) return null;
|
||||
|
||||
viewModel = new ViewModelProvider(requireActivity())
|
||||
.get(BluetoothSetupViewModel.class);
|
||||
|
||||
View v = inflater.inflate(R.layout.fragment_bluetooth_setup_start,
|
||||
container, false);
|
||||
|
||||
// TODO device-BT and BT-plugin needs to be enabled at this point
|
||||
|
||||
Button startButton = v.findViewById(R.id.startButton);
|
||||
startButton.setOnClickListener(view -> {
|
||||
showNextFragment(new BluetoothSetupChooseFragment());
|
||||
});
|
||||
startButton.setEnabled(true);
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
package org.briarproject.briar.android.bluetoothsetup;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import org.briarproject.bramble.api.db.DatabaseExecutor;
|
||||
import org.briarproject.bramble.api.db.TransactionManager;
|
||||
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.bramble.api.system.AndroidExecutor;
|
||||
import org.briarproject.briar.android.viewmodel.DbViewModel;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static java.util.logging.Logger.getLogger;
|
||||
|
||||
@NotNullByDefault
|
||||
public class BluetoothSetupViewModel extends DbViewModel {
|
||||
|
||||
private final static Logger LOG =
|
||||
getLogger(BluetoothSetupViewModel.class.getName());
|
||||
|
||||
@Inject
|
||||
BluetoothSetupViewModel(Application application,
|
||||
@DatabaseExecutor Executor dbExecutor,
|
||||
LifecycleManager lifecycleManager,
|
||||
TransactionManager db,
|
||||
AndroidExecutor androidExecutor) {
|
||||
super(application, dbExecutor, lifecycleManager, db, androidExecutor);
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,6 @@ import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.bluetoothsetup.BluetoothSetupActivity;
|
||||
import org.briarproject.briar.android.contact.BaseContactListAdapter.OnContactClickListener;
|
||||
import org.briarproject.briar.android.contact.add.remote.AddContactActivity;
|
||||
import org.briarproject.briar.android.contact.add.remote.PendingContactListActivity;
|
||||
@@ -135,11 +134,6 @@ public class ContactListFragment extends BaseFragment
|
||||
case R.id.action_add_contact_remotely:
|
||||
startActivity(
|
||||
new Intent(getContext(), AddContactActivity.class));
|
||||
return;
|
||||
case R.id.action_bluetooth_setup:
|
||||
startActivity(
|
||||
new Intent(getContext(),
|
||||
BluetoothSetupActivity.class));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.briarproject.briar.android.conversation;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.transition.Slide;
|
||||
@@ -105,6 +106,7 @@ import androidx.recyclerview.selection.SelectionTracker.SelectionObserver;
|
||||
import androidx.recyclerview.selection.StorageStrategy;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
|
||||
import de.hdodenhof.circleimageview.CircleImageView;
|
||||
import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt;
|
||||
|
||||
@@ -479,12 +481,10 @@ public class ConversationActivity extends BriarActivity
|
||||
@UiThread
|
||||
private void displayContactOnlineStatus() {
|
||||
if (connectionRegistry.isConnected(contactId)) {
|
||||
toolbarStatus.setImageDrawable(ContextCompat.getDrawable(
|
||||
ConversationActivity.this, R.drawable.contact_online));
|
||||
toolbarStatus.setImageResource(R.drawable.contact_online);
|
||||
toolbarStatus.setContentDescription(getString(R.string.online));
|
||||
} else {
|
||||
toolbarStatus.setImageDrawable(ContextCompat.getDrawable(
|
||||
ConversationActivity.this, R.drawable.contact_offline));
|
||||
toolbarStatus.setImageResource(R.drawable.contact_offline);
|
||||
toolbarStatus.setContentDescription(getString(R.string.offline));
|
||||
}
|
||||
}
|
||||
@@ -935,13 +935,16 @@ public class ConversationActivity extends BriarActivity
|
||||
return;
|
||||
}
|
||||
|
||||
int color =
|
||||
ContextCompat.getColor(this, R.color.briar_primary);
|
||||
Drawable drawable = VectorDrawableCompat
|
||||
.create(getResources(), R.drawable.ic_more_vert_accent, null);
|
||||
new MaterialTapTargetPrompt.Builder(ConversationActivity.this,
|
||||
R.style.OnboardingDialogTheme).setTarget(target)
|
||||
.setPrimaryText(R.string.introduction_onboarding_title)
|
||||
.setSecondaryText(R.string.introduction_onboarding_text)
|
||||
.setIcon(R.drawable.ic_more_vert_accent)
|
||||
.setBackgroundColour(
|
||||
ContextCompat.getColor(this, R.color.briar_primary))
|
||||
.setIconDrawable(drawable)
|
||||
.setBackgroundColour(color)
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
package org.briarproject.briar.android.login;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import static androidx.core.content.ContextCompat.getColor;
|
||||
import static androidx.core.content.ContextCompat.getDrawable;
|
||||
import static androidx.core.graphics.drawable.DrawableCompat.setTint;
|
||||
import static java.util.Objects.requireNonNull;
|
||||
import static org.briarproject.briar.android.util.UiUtils.getDialogIcon;
|
||||
|
||||
@NotNullByDefault
|
||||
class LoginUtils {
|
||||
@@ -19,9 +15,7 @@ class LoginUtils {
|
||||
static AlertDialog createKeyStrengthenerErrorDialog(Context ctx) {
|
||||
AlertDialog.Builder builder =
|
||||
new AlertDialog.Builder(ctx, R.style.BriarDialogTheme);
|
||||
Drawable icon = getDrawable(ctx, R.drawable.alerts_and_states_error);
|
||||
setTint(requireNonNull(icon), getColor(ctx, R.color.color_primary));
|
||||
builder.setIcon(icon);
|
||||
builder.setIcon(getDialogIcon(ctx, R.drawable.alerts_and_states_error));
|
||||
builder.setTitle(R.string.dialog_title_cannot_check_password);
|
||||
builder.setMessage(R.string.dialog_message_cannot_check_password);
|
||||
builder.setPositiveButton(R.string.ok, null);
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.briarproject.briar.android.navdrawer;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -59,6 +60,7 @@ import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
|
||||
import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
@@ -433,8 +435,7 @@ public class NavDrawerActivity extends BriarActivity implements
|
||||
Transport t = getItem(position);
|
||||
|
||||
ImageView icon = view.findViewById(R.id.imageView);
|
||||
icon.setImageDrawable(ContextCompat.getDrawable(
|
||||
NavDrawerActivity.this, t.iconDrawable));
|
||||
icon.setImageResource(t.iconDrawable);
|
||||
icon.setColorFilter(ContextCompat.getColor(
|
||||
NavDrawerActivity.this, t.iconColor));
|
||||
|
||||
@@ -476,11 +477,13 @@ public class NavDrawerActivity extends BriarActivity implements
|
||||
private void showTransportsOnboarding(boolean show, ImageView imageView) {
|
||||
if (show) {
|
||||
int color = resolveColorAttribute(this, R.attr.colorControlNormal);
|
||||
Drawable drawable = VectorDrawableCompat
|
||||
.create(getResources(), R.drawable.transport_tor, null);
|
||||
new MaterialTapTargetPrompt.Builder(NavDrawerActivity.this,
|
||||
R.style.OnboardingDialogTheme).setTarget(imageView)
|
||||
.setPrimaryText(R.string.network_settings_title)
|
||||
.setSecondaryText(R.string.transports_onboarding_text)
|
||||
.setIcon(R.drawable.transport_tor)
|
||||
.setIconDrawable(drawable)
|
||||
.setIconDrawableColourFilter(color)
|
||||
.setBackgroundColour(
|
||||
ContextCompat.getColor(this, R.color.briar_primary))
|
||||
|
||||
@@ -141,8 +141,7 @@ public class TransportsActivity extends BriarActivity {
|
||||
Transport t = getItem(position);
|
||||
|
||||
ImageView icon = view.findViewById(R.id.icon);
|
||||
icon.setImageDrawable(ContextCompat.getDrawable(
|
||||
TransportsActivity.this, t.iconDrawable));
|
||||
icon.setImageResource(t.iconDrawable);
|
||||
icon.setColorFilter(ContextCompat.getColor(
|
||||
TransportsActivity.this, t.iconColor));
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
|
||||
|
||||
import static android.content.Context.KEYGUARD_SERVICE;
|
||||
import static android.content.Context.POWER_SERVICE;
|
||||
@@ -88,7 +89,6 @@ import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO;
|
||||
import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES;
|
||||
import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode;
|
||||
import static androidx.core.content.ContextCompat.getColor;
|
||||
import static androidx.core.content.ContextCompat.getDrawable;
|
||||
import static androidx.core.content.ContextCompat.getSystemService;
|
||||
import static androidx.core.graphics.drawable.DrawableCompat.setTint;
|
||||
import static androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL;
|
||||
@@ -436,7 +436,8 @@ public class UiUtils {
|
||||
}
|
||||
|
||||
public static Drawable getDialogIcon(Context ctx, @DrawableRes int resId) {
|
||||
Drawable icon = getDrawable(ctx, resId);
|
||||
Drawable icon =
|
||||
VectorDrawableCompat.create(ctx.getResources(), resId, null);
|
||||
setTint(requireNonNull(icon), getColor(ctx, R.color.color_primary));
|
||||
return icon;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.briarproject.briar.android.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.AttributeSet;
|
||||
@@ -53,9 +52,8 @@ public class BriarRecyclerView extends FrameLayout {
|
||||
R.styleable.BriarRecyclerView);
|
||||
isScrollingToEnd = attributes
|
||||
.getBoolean(R.styleable.BriarRecyclerView_scrollToEnd, true);
|
||||
Drawable drawable = attributes
|
||||
.getDrawable(R.styleable.BriarRecyclerView_emptyImage);
|
||||
if (drawable != null) setEmptyImage(drawable);
|
||||
int drawableRes = attributes.getResourceId(R.styleable.BriarRecyclerView_emptyImage, -1);
|
||||
if (drawableRes != -1) setEmptyImage(drawableRes);
|
||||
String emtpyText =
|
||||
attributes.getString(R.styleable.BriarRecyclerView_emptyText);
|
||||
if (emtpyText != null) setEmptyText(emtpyText);
|
||||
@@ -139,11 +137,6 @@ public class BriarRecyclerView extends FrameLayout {
|
||||
}
|
||||
}
|
||||
|
||||
public void setEmptyImage(Drawable drawable) {
|
||||
if (recyclerView == null) initViews();
|
||||
emptyImage.setImageDrawable(drawable);
|
||||
}
|
||||
|
||||
public void setEmptyImage(@DrawableRes int res) {
|
||||
if (recyclerView == null) initViews();
|
||||
emptyImage.setImageResource(res);
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.app.Activity;
|
||||
import android.content.ClipData;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
@@ -28,6 +29,7 @@ import androidx.customview.view.AbsSavedState;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
|
||||
import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt;
|
||||
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
@@ -253,12 +255,14 @@ public class TextAttachmentController extends TextSendController
|
||||
|
||||
public void showImageOnboarding(Activity activity) {
|
||||
int color = resolveColorAttribute(activity, R.attr.colorControlNormal);
|
||||
Drawable drawable = VectorDrawableCompat
|
||||
.create(activity.getResources(), R.drawable.ic_image, null);
|
||||
new MaterialTapTargetPrompt.Builder(activity,
|
||||
R.style.OnboardingDialogTheme).setTarget(sendButton)
|
||||
.setPrimaryText(R.string.dialog_title_image_support)
|
||||
.setSecondaryText(R.string.dialog_message_image_support)
|
||||
.setBackgroundColour(getColor(activity, R.color.briar_primary))
|
||||
.setIcon(R.drawable.ic_image)
|
||||
.setIconDrawable(drawable)
|
||||
.setIconDrawableColourFilter(color)
|
||||
.show();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import org.briarproject.briar.R;
|
||||
|
||||
import androidx.annotation.UiThread;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
@UiThread
|
||||
public class TrustIndicatorView extends AppCompatImageView {
|
||||
@@ -44,7 +43,7 @@ public class TrustIndicatorView extends AppCompatImageView {
|
||||
default:
|
||||
res = R.drawable.trust_indicator_unknown;
|
||||
}
|
||||
setImageDrawable(ContextCompat.getDrawable(getContext(), res));
|
||||
setImageResource(res);
|
||||
setVisibility(VISIBLE);
|
||||
|
||||
invalidate();
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M13,12h7v1.5h-7zM13,9.5h7L20,11h-7zM13,14.5h7L20,16h-7zM21,4L3,4c-1.1,0 -2,0.9 -2,2v13c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM21,19h-9L12,6h9v13z"/>
|
||||
android:pathData="M13,12h7v1.5h-7zM13,9.5h7L20,11h-7zM13,14.5h7L20,16h-7zM21,4L3,4c-1.1,0 -2,0.9 -2,2v13c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM21,19h-9L12,6h9v13z" />
|
||||
</vector>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20,0L4,0v2h16L20,0zM4,24h16v-2L4,22v2zM20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM12,6.75c1.24,0 2.25,1.01 2.25,2.25s-1.01,2.25 -2.25,2.25S9.75,10.24 9.75,9 10.76,6.75 12,6.75zM17,17L7,17v-1.5c0,-1.67 3.33,-2.5 5,-2.5s5,0.83 5,2.5L17,17z"/>
|
||||
android:pathData="M20,0L4,0v2h16L20,0zM4,24h16v-2L4,22v2zM20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM12,6.75c1.24,0 2.25,1.01 2.25,2.25s-1.01,2.25 -2.25,2.25S9.75,10.24 9.75,9 10.76,6.75 12,6.75zM17,17L7,17v-1.5c0,-1.67 3.33,-2.5 5,-2.5s5,0.83 5,2.5L17,17z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,15 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF">
|
||||
<group android:scaleX="0.92"
|
||||
android:scaleY="0.92"
|
||||
android:translateX="0.96"
|
||||
android:translateY="0.96">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M16,11c1.66,0 2.99,-1.34 2.99,-3S17.66,5 16,5c-1.66,0 -3,1.34 -3,3s1.34,3 3,3zM8,11c1.66,0 2.99,-1.34 2.99,-3S9.66,5 8,5C6.34,5 5,6.34 5,8s1.34,3 3,3zM8,13c-2.33,0 -7,1.17 -7,3.5L1,19h14v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5zM16,13c-0.29,0 -0.62,0.02 -0.97,0.05 1.16,0.84 1.97,1.97 1.97,3.45L17,19h6v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5z"/>
|
||||
android:pathData="M16,11c1.66,0 2.99,-1.34 2.99,-3S17.66,5 16,5c-1.66,0 -3,1.34 -3,3s1.34,3 3,3zM8,11c1.66,0 2.99,-1.34 2.99,-3S9.66,5 8,5C6.34,5 5,6.34 5,8s1.34,3 3,3zM8,13c-2.33,0 -7,1.17 -7,3.5L1,19h14v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5zM16,13c-0.29,0 -0.62,0.02 -0.97,0.05 1.16,0.84 1.97,1.97 1.97,3.45L17,19h6v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5z" />
|
||||
</vector>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,14L6,14v-2h12v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z"/>
|
||||
android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,14L6,14v-2h12v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,15 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF">
|
||||
<group android:scaleX="0.92"
|
||||
android:scaleY="0.92"
|
||||
android:translateX="0.96"
|
||||
android:translateY="0.96">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0,0 1,16 4V6H14V4H5V20H14V18H16V20A2,2 0,0 1,14 22H5A2,2 0,0 1,3 20V4A2,2 0,0 1,5 2H14Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
BIN
briar-android/src/main/res/drawable-hdpi/notification_blog.png
Normal file
|
After Width: | Height: | Size: 229 B |
|
After Width: | Height: | Size: 316 B |
BIN
briar-android/src/main/res/drawable-hdpi/notification_forum.png
Normal file
|
After Width: | Height: | Size: 245 B |
BIN
briar-android/src/main/res/drawable-hdpi/notification_lock.png
Normal file
|
After Width: | Height: | Size: 341 B |
|
After Width: | Height: | Size: 498 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 266 B |
BIN
briar-android/src/main/res/drawable-mdpi/notification_blog.png
Normal file
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 228 B |
BIN
briar-android/src/main/res/drawable-mdpi/notification_forum.png
Normal file
|
After Width: | Height: | Size: 205 B |
BIN
briar-android/src/main/res/drawable-mdpi/notification_lock.png
Normal file
|
After Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 387 B |
|
After Width: | Height: | Size: 279 B |
|
After Width: | Height: | Size: 202 B |
|
After Width: | Height: | Size: 205 B |
BIN
briar-android/src/main/res/drawable-xhdpi/notification_blog.png
Normal file
|
After Width: | Height: | Size: 273 B |
|
After Width: | Height: | Size: 362 B |
BIN
briar-android/src/main/res/drawable-xhdpi/notification_forum.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
briar-android/src/main/res/drawable-xhdpi/notification_lock.png
Normal file
|
After Width: | Height: | Size: 442 B |
|
After Width: | Height: | Size: 663 B |
|
After Width: | Height: | Size: 489 B |
|
After Width: | Height: | Size: 250 B |
|
After Width: | Height: | Size: 298 B |
BIN
briar-android/src/main/res/drawable-xxhdpi/notification_blog.png
Normal file
|
After Width: | Height: | Size: 348 B |
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 367 B |
BIN
briar-android/src/main/res/drawable-xxhdpi/notification_lock.png
Normal file
|
After Width: | Height: | Size: 618 B |
|
After Width: | Height: | Size: 977 B |
|
After Width: | Height: | Size: 652 B |
|
After Width: | Height: | Size: 334 B |
|
After Width: | Height: | Size: 402 B |
@@ -1,151 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="499.24373dp"
|
||||
android:height="175.49413dp"
|
||||
android:viewportWidth="499.24373"
|
||||
android:viewportHeight="175.49413">
|
||||
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M459.809,171.16 L455.482,166.826 L448.412,164.399
|
||||
C444.524,163.064,439.689,161.403,437.668,160.708 L433.994,159.445
|
||||
L437.518,159.272 C445.76,158.868,450.506,155.265,451.854,148.388
|
||||
C452.65,144.327,452.983,131.09,452.684,115.347
|
||||
C452.531,107.263,452.518,99.9306,452.656,99.0522
|
||||
C452.794,98.1738,453.191,96.6321,453.539,95.6262
|
||||
C454.761,92.0938,453.879,83.7179,451.681,77.9947
|
||||
C451.333,77.0872,449.747,73.7797,448.157,70.6447
|
||||
C443.999,62.4444,443.652,61.7028,443.264,60.1606
|
||||
C442.805,58.3392,443.052,54.7253,443.726,53.3947
|
||||
C444.392,52.0797,445.883,50.4785,446.972,49.9081
|
||||
C448.271,49.2279,449.588,50.0301,451.658,52.7632
|
||||
C455.08,57.2792,465.659,72.2041,467.39,74.9562
|
||||
C471.136,80.9126,473.346,86.1212,475.362,93.7447
|
||||
C476.017,96.2197,477.247,100.742,478.097,103.795
|
||||
C478.946,106.847,480.811,113.953,482.241,119.585 L484.841,129.825
|
||||
L489.491,135.018 C492.048,137.874,495.288,141.482,496.691,143.035
|
||||
C498.093,144.588,499.241,146.01,499.241,146.196
|
||||
C499.241,146.531,464.741,175.495,464.342,175.495
|
||||
C464.227,175.495,462.186,173.545,459.807,171.161 Z M365.944,154.772
|
||||
C364.687,154.144,363.739,153.393,363.03,152.465
|
||||
C360.941,149.729,361.08,154.834,361.166,83.9825 L361.244,19.9437
|
||||
L361.905,18.7088 C362.92,16.8111,363.897,15.7979,365.645,14.8299
|
||||
L367.245,13.9437 L405.029,13.8641
|
||||
C447.485,13.7747,444.431,13.6158,447.145,16.056
|
||||
C448.02,16.8431,448.902,18.0155,449.329,18.9598
|
||||
C450.042,20.5368,450.045,20.5982,450.135,33.1639 L450.225,45.7841
|
||||
L448.427,45.654 C447.001,45.5509,446.346,45.661,445.261,46.1861
|
||||
C443.248,47.1606,441.321,49.0848,440.146,51.2936 L439.109,53.2436
|
||||
L439.102,40.4186 L439.095,27.5936 L405.495,27.5936 L371.895,27.5936
|
||||
L371.895,78.8936 L371.895,130.194 L405.494,130.194 L439.093,130.194
|
||||
L439.169,95.769 C439.242,62.8088,439.267,61.4078,439.76,62.844
|
||||
C440.043,63.669,441.566,66.8415,443.143,69.894
|
||||
C448.636,80.5202,448.548,79.7541,448.539,117.097
|
||||
C448.532,144.718,448.415,147.048,446.877,150.206
|
||||
C445.806,152.405,444.166,153.916,441.819,154.866 L440.145,155.543
|
||||
L403.977,155.623 L367.809,155.703 L365.945,154.772 Z M408.344,149.734
|
||||
C411.215,148.425,412.802,146.056,412.774,143.117
|
||||
C412.735,139.001,409.665,135.894,405.638,135.894
|
||||
C403.518,135.894,402.071,136.503,400.474,138.066
|
||||
C398.229,140.264,397.72,143.505,399.173,146.353
|
||||
C399.886,147.751,401.694,149.362,403.135,149.883
|
||||
C404.632,150.425,406.975,150.358,408.344,149.734 Z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M39.4343,171.16 L43.7609,166.826 L50.8305,164.399
|
||||
C54.7188,163.064,59.5534,161.403,61.574,160.708 L65.248,159.445 L61.724,159.272
|
||||
C53.4822,158.868,48.7362,155.265,47.3877,148.388
|
||||
C46.5914,144.327,46.2588,131.09,46.5575,115.347
|
||||
C46.7109,107.263,46.7237,99.9306,46.5859,99.0522
|
||||
C46.4482,98.1738,46.0506,96.6321,45.7025,95.6262
|
||||
C44.48,92.0938,45.3625,83.7179,47.5602,77.9947
|
||||
C47.9087,77.0872,49.4945,73.7797,51.0844,70.6447
|
||||
C55.2429,62.4444,55.589,61.7028,55.9773,60.1606
|
||||
C56.4359,58.3392,56.1889,54.7253,55.5148,53.3947
|
||||
C54.8486,52.0797,53.3578,50.4785,52.2686,49.9081
|
||||
C50.9697,49.2279,49.6529,50.0301,47.5822,52.7632
|
||||
C44.1607,57.2792,33.5808,72.2041,31.8503,74.9562
|
||||
C28.1048,80.9126,25.8947,86.1212,23.8781,93.7447
|
||||
C23.2234,96.2197,21.9929,100.742,21.1435,103.795
|
||||
C20.2942,106.847,18.4295,113.953,16.9996,119.585 L14.4,129.824 L9.75,135.017
|
||||
C7.1925,137.873,3.9525,141.481,2.55,143.034 C1.1475,144.587,0,146.009,0,146.195
|
||||
C0,146.53,34.4996,175.494,34.8991,175.494
|
||||
C35.0138,175.494,37.0547,173.544,39.4343,171.16 Z M133.299,154.772
|
||||
C134.557,154.144,135.505,153.393,136.213,152.465
|
||||
C138.302,149.729,138.163,154.834,138.077,83.9825 L137.999,19.9437
|
||||
L137.338,18.7088 C136.323,16.8111,135.346,15.7979,133.598,14.8299
|
||||
L131.998,13.9437 L94.2141,13.8641
|
||||
C51.7582,13.7747,54.8117,13.6158,52.0976,16.056
|
||||
C51.2222,16.8431,50.3404,18.0155,49.9137,18.9598
|
||||
C49.2011,20.5368,49.1976,20.5982,49.1081,33.1639 L49.0182,45.7841
|
||||
L50.8164,45.654 C52.2422,45.5509,52.8978,45.661,53.9824,46.1861
|
||||
C55.9953,47.1606,57.9223,49.0848,59.0972,51.2936 L60.1344,53.2436
|
||||
L60.1414,40.4186 L60.1484,27.5936 L93.7484,27.5936 L127.348,27.5936
|
||||
L127.348,78.8936 L127.348,130.194 L93.7493,130.194 L60.1506,130.194
|
||||
L60.0743,95.769 C60.0013,62.8088,59.9761,61.4078,59.4833,62.844
|
||||
C59.2002,63.669,57.6777,66.8415,56.0999,69.894
|
||||
C50.6074,80.5202,50.695,79.7541,50.7039,117.097
|
||||
C50.7109,144.718,50.8275,147.048,52.3659,150.206
|
||||
C53.4373,152.405,55.0773,153.916,57.4241,154.866 L59.0979,155.543
|
||||
L95.2656,155.623 L131.433,155.703 L133.297,154.772 Z M90.8996,149.734
|
||||
C88.0284,148.425,86.4419,146.056,86.4696,143.117
|
||||
C86.5084,139.001,89.5784,135.894,93.606,135.894
|
||||
C95.7256,135.894,97.1733,136.503,98.7696,138.066
|
||||
C101.015,140.264,101.524,143.505,100.071,146.353
|
||||
C99.3579,147.751,97.5496,149.362,96.1089,149.883
|
||||
C94.6118,150.425,92.2689,150.358,90.9,149.734 Z" />
|
||||
<path
|
||||
android:fillColor="#0a3d91"
|
||||
android:pathData="M247.254,75.9792 L251.99,75.9792
|
||||
C265.155,75.9792,275.753,86.5777,275.753,99.7427 L275.753,131.917
|
||||
C275.753,145.082,265.154,155.68,251.99,155.68 L247.254,155.68
|
||||
C234.089,155.68,223.491,145.081,223.491,131.917 L223.491,99.7424
|
||||
C223.491,86.5774,234.09,75.9789,247.254,75.9789 Z" />
|
||||
<path
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeWidth="4.32805729"
|
||||
android:pathData="M236.311,102.927 L261.218,127.997 L249.214,142.533 L249.214,90.5963
|
||||
L261.218,104.479 L236.311,128.896" />
|
||||
<path
|
||||
android:fillColor="#0a3d91"
|
||||
android:strokeWidth="7.55000019"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeLineCap="round"
|
||||
android:pathData="M143.679,27.5571 C142.089,30.1809,143.861,33.1318,146.464,34.1998
|
||||
C149.159,35.7722,152.635,39.187,155.612,36.432
|
||||
C157.845,34.3925,156.213,30.7041,153.571,29.7617
|
||||
C150.507,28.085,147.019,24.2469,143.68,27.5572 Z M351.705,27.1294
|
||||
C348.937,29.09,344.636,29.8244,343.327,33.1721
|
||||
C342.685,35.9031,345.263,38.1647,347.911,37.5986
|
||||
C351.113,35.9607,354.968,34.7562,357.089,31.6509
|
||||
C357.658,29.0465,355.596,26.3002,352.821,26.9052
|
||||
C352.405,26.7975,352.061,26.9402,351.704,27.1294 Z M324.943,40.3012
|
||||
C322.009,42.0092,317.623,42.224,316.012,45.4542
|
||||
C315.104,48.1085,317.444,50.6134,320.136,50.3152
|
||||
C323.492,49.0109,327.456,48.2025,329.873,45.3129
|
||||
C330.687,42.7752,328.896,39.8433,326.077,40.184
|
||||
C325.673,40.0383,325.317,40.1458,324.944,40.3011 Z M169.707,42.7641
|
||||
C168.488,45.476,170.464,48.2246,173.151,48.9095
|
||||
C176.009,49.9903,179.82,53.0273,182.463,50.1434
|
||||
C184.778,48.1069,182.802,44.308,180.053,43.7252
|
||||
C176.725,42.5494,172.668,39.0116,169.707,42.7641 Z M296.98,50.3813
|
||||
C293.857,51.6905,289.488,51.352,287.488,54.3514
|
||||
C286.256,56.8701,288.261,59.6497,290.968,59.6911
|
||||
C294.455,58.7838,298.535,58.5783,301.271,55.952
|
||||
C302.385,53.5298,300.959,50.4059,298.119,50.401
|
||||
C297.736,50.2053,297.369,50.274,296.98,50.3813 Z M199.49,51.9262
|
||||
C197.261,53.388,196.81,56.7921,199.214,58.3031
|
||||
C201.801,59.7737,205.129,60.258,208.054,60.7984
|
||||
C210.839,61.1306,212.8,58.3192,211.945,55.7497
|
||||
C209.902,52.47,205.473,53.0161,202.228,51.6605
|
||||
C201.315,51.749,200.402,51.8376,199.49,51.9261 Z M268.004,56.434
|
||||
C264.728,57.2229,260.543,56.2461,258.068,58.816
|
||||
C256.418,61.0841,257.911,64.1697,260.572,64.6779
|
||||
C264.184,64.3855,268.29,64.7686,271.412,62.5839
|
||||
C272.874,60.3563,271.935,57.0522,269.127,56.6245
|
||||
C268.778,56.3753,268.405,56.3852,268.004,56.434 Z M228.555,57.852
|
||||
C226.622,59.6879,226.79,63.1186,229.426,64.1735
|
||||
C232.235,65.1623,235.597,65.0202,238.57,65.0349
|
||||
C241.369,64.8621,242.796,61.7451,241.494,59.3702
|
||||
C238.89,56.5186,234.647,57.8284,231.201,57.1003
|
||||
C230.319,57.3509,229.437,57.6015,228.555,57.8521 Z" />
|
||||
</vector>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout 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="85dp"
|
||||
@@ -16,6 +17,6 @@
|
||||
android:layout_marginRight="@dimen/margin_medium"
|
||||
android:layout_marginBottom="@dimen/margin_medium"
|
||||
android:contentDescription="@string/app_name"
|
||||
android:src="@drawable/navigation_drawer_header" />
|
||||
app:srcCompat="@drawable/navigation_drawer_header" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:padding="@dimen/margin_medium"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/qr_code_intro"
|
||||
app:layout_constraintBottom_toBottomOf="@id/explanationText"
|
||||
app:layout_constraintEnd_toStartOf="@id/explanationText"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/qr_code_intro"
|
||||
app:tint="@color/color_primary"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
@@ -38,11 +38,11 @@
|
||||
android:paddingTop="@dimen/margin_large"
|
||||
android:paddingEnd="@dimen/margin_large"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/qr_code_explanation"
|
||||
app:layout_constraintBottom_toTopOf="@id/explanationText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/diagram"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/qr_code_explanation"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/close"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_close"
|
||||
app:srcCompat="@drawable/ic_close"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:elevation="@dimen/margin_tiny"
|
||||
android:src="@drawable/ic_info_white"
|
||||
app:layout_constraintBottom_toTopOf="@+id/divider"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_info_white"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_margin="@dimen/margin_large"
|
||||
android:src="@drawable/splash_screen"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.1"
|
||||
app:srcCompat="@drawable/splash_screen"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -29,10 +29,10 @@
|
||||
android:contentDescription="@string/blogs_reblog_button"
|
||||
android:padding="2dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_repeat"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/avatar"
|
||||
app:layout_constraintEnd_toEndOf="@+id/avatar" />
|
||||
app:layout_constraintEnd_toEndOf="@+id/avatar"
|
||||
app:srcCompat="@drawable/ic_repeat" />
|
||||
|
||||
<com.vanniktech.emoji.EmojiTextView
|
||||
android:id="@+id/authorName"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/margin_small"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_emoji_toggle"
|
||||
app:srcCompat="@drawable/ic_emoji_toggle"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<com.vanniktech.emoji.EmojiEditText
|
||||
|
||||
@@ -1,125 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView 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:fillViewport="true">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/margin_large">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepOne"
|
||||
style="@style/StepBubble"
|
||||
android:text="@string/step_1"
|
||||
app:layout_constraintBottom_toTopOf="@+id/stepOneText"
|
||||
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepOneText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:text="Pick contact"
|
||||
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepOne" />
|
||||
|
||||
<View
|
||||
android:id="@+id/stepConnector"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_margin="16dp"
|
||||
android:alpha="0.5"
|
||||
android:background="@color/briar_accent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/stepOne"
|
||||
app:layout_constraintEnd_toStartOf="@+id/stepTwo"
|
||||
app:layout_constraintStart_toEndOf="@+id/stepOne"
|
||||
app:layout_constraintTop_toTopOf="@+id/stepOne" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepTwo"
|
||||
style="@style/StepBubble.Upcoming"
|
||||
android:text="@string/step_2"
|
||||
app:layout_constraintBottom_toTopOf="@+id/stepTwoText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline"
|
||||
app:layout_constraintTop_toTopOf="@+id/stepOne"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepTwoText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:alpha="0.5"
|
||||
android:text="Wait for setup"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/guideline"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepTwo" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/discoveryText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="Pick the nearby contact to perform the setup with."
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/contacts"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/stepOneText" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/contacts"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginVertical="32dp"
|
||||
app:layout_constraintBottom_toTopOf="@id/continueButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/discoveryText" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/continueButton"
|
||||
style="@style/BriarButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:enabled="false"
|
||||
android:text="@string/continue_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:enabled="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/commentTextView2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="148dp"
|
||||
android:layout_marginLeft="148dp"
|
||||
android:layout_marginTop="124dp"
|
||||
android:text="list of all [contact-name-and-avatar]"
|
||||
android:textColor="@color/briar_red_500"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</ScrollView>
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true">
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/margin_large">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/stepOne"
|
||||
style="@style/StepBubble.Completed"
|
||||
app:layout_constraintBottom_toTopOf="@+id/stepOneText"
|
||||
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepOneText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:text="Pick contact"
|
||||
app:layout_constraintEnd_toStartOf="@+id/guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepOne" />
|
||||
|
||||
<View
|
||||
android:id="@+id/stepConnector"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_margin="16dp"
|
||||
android:background="@color/briar_accent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/stepOne"
|
||||
app:layout_constraintEnd_toStartOf="@+id/stepTwo"
|
||||
app:layout_constraintStart_toEndOf="@+id/stepOne"
|
||||
app:layout_constraintTop_toTopOf="@+id/stepOne" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepTwo"
|
||||
style="@style/StepBubble"
|
||||
android:text="@string/step_2"
|
||||
app:layout_constraintBottom_toTopOf="@+id/stepTwoText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline"
|
||||
app:layout_constraintTop_toTopOf="@+id/stepOne"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stepTwoText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:text="Wait for setup"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/guideline"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepTwo" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pendingText"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:textSize="16sp"
|
||||
android:text="Waiting for a connection to be established with:\n\n[chosen contact-name-and-avatar]"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/stepOneText" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/doneButton"
|
||||
style="@style/BriarButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Done"
|
||||
android:enabled="false"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintVertical_bias="1.0" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</ScrollView>
|
||||
@@ -1,56 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView 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:fillViewport="true">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/margin_large">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/diagram"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:paddingBottom="@dimen/margin_large"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/bluetooth"
|
||||
app:layout_constraintBottom_toTopOf="@id/explanationText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/explanationText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="left|start"
|
||||
android:text="To be able to communicate over Bluetooth with contacts that were previously added at a distance, Briar needs to learn the Bluetooth address of your device. This only needs to be done once.\n\nTo accomplish this, you need to have one of your contacts nearby to perform the Bluetooth Setup.\n\nBefore you start the setup, your contact also needs bring up the Bluetooth Setup screen by navigating [here-and-here].\n\nNote: Bluetooth Pairing is not a required part of the setup."
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/startButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/diagram" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/startButton"
|
||||
style="@style/BriarButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:enabled="false"
|
||||
android:text="Start"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintVertical_bias="1.0"
|
||||
tools:enabled="true" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</ScrollView>
|
||||
@@ -24,7 +24,6 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_crash"
|
||||
app:layout_constraintBottom_toTopOf="@+id/crashed"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -32,6 +31,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:srcCompat="@drawable/ic_crash"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:src="@drawable/alerts_and_states_error"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/alerts_and_states_error"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/qr_code_error"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/errorTitle"
|
||||
app:srcCompat="@drawable/qr_code_error"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:paddingBottom="@dimen/margin_large"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/qr_code_intro"
|
||||
app:layout_constraintBottom_toTopOf="@id/explanationImage"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/qr_code_intro"
|
||||
app:tint="@color/color_primary" />
|
||||
|
||||
<ImageView
|
||||
@@ -35,11 +35,11 @@
|
||||
android:paddingTop="@dimen/margin_large"
|
||||
android:paddingRight="@dimen/margin_large"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/qr_code_explanation"
|
||||
app:layout_constraintBottom_toTopOf="@id/explanationText"
|
||||
app:layout_constraintEnd_toEndOf="@id/diagram"
|
||||
app:layout_constraintStart_toStartOf="@id/diagram"
|
||||
app:layout_constraintTop_toBottomOf="@id/diagram"
|
||||
app:srcCompat="@drawable/qr_code_explanation"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -81,9 +81,9 @@
|
||||
android:layout_marginTop="32dp"
|
||||
android:background="@drawable/bubble_accent"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_call_made"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepOneText"
|
||||
app:srcCompat="@drawable/ic_call_made"
|
||||
app:tint="@android:color/white" />
|
||||
|
||||
<TextView
|
||||
@@ -123,11 +123,11 @@
|
||||
style="@style/BriarButtonFlat.Positive.Tiny"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableStart="@drawable/ic_content_copy"
|
||||
android:drawableLeft="@drawable/ic_content_copy"
|
||||
android:drawablePadding="8dp"
|
||||
android:enabled="false"
|
||||
android:text="@string/copy_button"
|
||||
app:drawableLeftCompat="@drawable/ic_content_copy"
|
||||
app:drawableStartCompat="@drawable/ic_content_copy"
|
||||
app:layout_constraintEnd_toStartOf="@id/shareButton"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
@@ -139,11 +139,11 @@
|
||||
style="@style/BriarButtonFlat.Positive.Tiny"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableStart="@drawable/social_share_blue"
|
||||
android:drawableLeft="@drawable/social_share_blue"
|
||||
android:drawablePadding="8dp"
|
||||
android:enabled="false"
|
||||
android:text="@string/share_button"
|
||||
app:drawableLeftCompat="@drawable/social_share_blue"
|
||||
app:drawableStartCompat="@drawable/social_share_blue"
|
||||
app:layout_constraintBottom_toBottomOf="@id/copyButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
@@ -157,9 +157,9 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/bubble_accent"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_call_received"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/copyButton"
|
||||
app:srcCompat="@drawable/ic_call_received"
|
||||
app:tint="@android:color/white" />
|
||||
|
||||
<TextView
|
||||
@@ -202,10 +202,10 @@
|
||||
style="@style/BriarButtonFlat.Positive.Tiny"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableStart="@drawable/ic_content_paste"
|
||||
android:drawableLeft="@drawable/ic_content_paste"
|
||||
android:drawablePadding="8dp"
|
||||
android:text="@string/paste_button"
|
||||
app:drawableLeftCompat="@drawable/ic_content_paste"
|
||||
app:drawableStartCompat="@drawable/ic_content_paste"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
@@ -77,13 +77,13 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:src="@drawable/ic_nickname"
|
||||
app:layout_constraintBottom_toTopOf="@+id/nicknameIcon"
|
||||
app:layout_constraintDimensionRatio="1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHeight_max="256dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/stepOneText"
|
||||
app:srcCompat="@drawable/ic_nickname"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
@@ -93,10 +93,10 @@
|
||||
android:layout_marginTop="32dp"
|
||||
android:background="@drawable/bubble_accent"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_person"
|
||||
app:layout_constraintBottom_toTopOf="@+id/contactNameLayout"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/imageView"
|
||||
app:srcCompat="@drawable/ic_person"
|
||||
app:tint="@android:color/white" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="128dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/startup_lock"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:srcCompat="@drawable/startup_lock"
|
||||
app:tint="@color/briar_accent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="128dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/startup_lock"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:srcCompat="@drawable/startup_lock"
|
||||
app:tint="@color/briar_primary"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:src="@drawable/ic_close"
|
||||
app:backgroundTint="@color/briar_accent"
|
||||
app:fabCustomSize="26dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
app:maxImageSize="18dp" />
|
||||
app:maxImageSize="18dp"
|
||||
app:srcCompat="@drawable/ic_close" />
|
||||
|
||||
</merge>
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_large"
|
||||
android:src="@drawable/ic_contact_introduction"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/barrier"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/avatarContact2"
|
||||
app:srcCompat="@drawable/ic_contact_introduction"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
android:layout_height="@dimen/button_size"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/blogs_reblog_comment_hint"
|
||||
android:src="@drawable/ic_repeat"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_repeat"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<com.vanniktech.emoji.EmojiTextView
|
||||
|
||||
@@ -41,10 +41,10 @@
|
||||
android:layout_height="@dimen/button_size"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/groups_remove"
|
||||
android:src="@drawable/action_delete_black"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/name"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/action_delete_black"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -40,9 +40,9 @@
|
||||
android:layout_marginStart="@dimen/listitem_horizontal_margin"
|
||||
android:layout_marginLeft="@dimen/listitem_horizontal_margin"
|
||||
android:layout_marginTop="4dp"
|
||||
android:src="@drawable/ic_visibility"
|
||||
app:layout_constraintStart_toEndOf="@+id/avatarView"
|
||||
app:layout_constraintTop_toBottomOf="@+id/nameView"
|
||||
app:srcCompat="@drawable/ic_visibility"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/delete"
|
||||
android:src="@drawable/action_delete_black"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/action_delete_black"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:src="@drawable/ic_check_white"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/button"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/button"
|
||||
app:srcCompat="@drawable/ic_check_white"
|
||||
app:tint="?attr/colorControlNormal"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
android:layout_height="24dp"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:contentDescription="@string/help"
|
||||
android:src="@drawable/ic_help_outline_white"
|
||||
android:tint="@color/briar_button_text_positive"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/button" />
|
||||
app:layout_constraintTop_toTopOf="@+id/button"
|
||||
app:srcCompat="@drawable/ic_help_outline_white" />
|
||||
|
||||
</merge>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge 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"
|
||||
tools:showIn="@layout/fragment_keyagreement_qr">
|
||||
|
||||
@@ -25,6 +26,6 @@
|
||||
android:alpha="0.54"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/show_qr_code_fullscreen"
|
||||
android:src="@drawable/ic_fullscreen_black_48dp" />
|
||||
app:srcCompat="@drawable/ic_fullscreen_black_48dp" />
|
||||
|
||||
</merge>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
@@ -9,6 +10,6 @@
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="@dimen/margin_xxlarge"
|
||||
android:contentDescription="@string/app_name"
|
||||
android:src="@drawable/splash_screen" />
|
||||
app:srcCompat="@drawable/splash_screen" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
android:focusable="true"
|
||||
android:padding="4dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_image_off"
|
||||
android:visibility="invisible"
|
||||
app:srcCompat="@drawable/ic_image_off"
|
||||
app:tint="?attr/colorControlNormal" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageButton
|
||||
@@ -34,7 +34,7 @@
|
||||
android:focusable="true"
|
||||
android:padding="4dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/social_send_now_white"
|
||||
app:srcCompat="@drawable/social_send_now_white"
|
||||
app:tint="@color/briar_accent" />
|
||||
|
||||
<ProgressBar
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<menu
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<item
|
||||
@@ -7,20 +8,13 @@
|
||||
android:icon="@drawable/ic_nearby"
|
||||
android:orderInCategory="3"
|
||||
android:title="@string/add_contact_nearby_title"
|
||||
app:showAsAction="never" />
|
||||
app:showAsAction="never"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/action_add_contact_remotely"
|
||||
android:icon="@drawable/ic_link_menu"
|
||||
android:orderInCategory="2"
|
||||
android:title="@string/add_contact_remotely_title"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_bluetooth_setup"
|
||||
android:icon="@drawable/ic_link_menu"
|
||||
android:orderInCategory="4"
|
||||
android:title="Bluetooth setup"
|
||||
app:showAsAction="never" />
|
||||
app:showAsAction="never"/>
|
||||
|
||||
</menu>
|
||||
|
||||
@@ -149,6 +149,7 @@
|
||||
<string name="send">ارسال</string>
|
||||
<string name="allow">السماح</string>
|
||||
<string name="open">فتح</string>
|
||||
<string name="change">تعديل</string>
|
||||
<string name="no_data">لا يوجد بيانات</string>
|
||||
<string name="ellipsis">...</string>
|
||||
<string name="text_too_long">النص المُدخل طويل جدًا</string>
|
||||
@@ -171,7 +172,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">نوع ملف الصورة غير مدعوم : %s</string>
|
||||
<string name="set_contact_alias">تعديل إسم جهة الاتصال</string>
|
||||
<string name="set_contact_alias_hint">اسم جهة الاتصال</string>
|
||||
<string name="change">تعديل</string>
|
||||
<string name="delete_all_messages">حذف جميع الرّسائل </string>
|
||||
<string name="dialog_title_delete_all_messages">تأكيد حذف الرّسالة</string>
|
||||
<string name="dialog_message_delete_all_messages">هل أنتم متأكّدون من حذف جميع الرّسائل؟ </string>
|
||||
@@ -465,6 +465,7 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">لا يمكن حذف الخلاصة!</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">لا خلاصات RSS للعرض\n\nالرجاء لمس علامة + لإستيراد خلاصة.</string>
|
||||
<string name="blogs_rss_feeds_manage_error">حدث خطأ في جلب خلاصاتك. الرجاء المحاولة لاحقًا.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">اللغة & المنطقة</string>
|
||||
<string name="pref_language_changed">هذا الإعداد سيتفعل بعد إعادة تشغيل Briar (براير). الرجاء تسجيل الخروج ثم اعادة تشغيل Briar (براير).</string>
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
<string name="send">Göndər</string>
|
||||
<string name="allow">Izn vermək</string>
|
||||
<string name="open">Aç</string>
|
||||
<string name="change">Dəyiş</string>
|
||||
<string name="no_data">Məlumat yoxdur</string>
|
||||
<string name="ellipsis">...</string>
|
||||
<string name="text_too_long">Daxil olunmuş mətn çox uzundur</string>
|
||||
@@ -125,7 +126,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">Şəkil formatı dəstəklənmir: %s</string>
|
||||
<string name="set_contact_alias">Kontakt adı dəyişdirin</string>
|
||||
<string name="set_contact_alias_hint">Əlaqə adı</string>
|
||||
<string name="change">Dəyiş</string>
|
||||
<string name="delete_all_messages">Bütün mesajları sil</string>
|
||||
<string name="dialog_title_delete_all_messages">Silməyi təsdiq et</string>
|
||||
<string name="dialog_message_delete_all_messages">Bütün mesajları silmək istədiyinizə əminsinizmi? </string>
|
||||
@@ -357,6 +357,7 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">Feed silinmədi</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">Xeyr RSS əks etdirmir\n\nİdxal etmək üçün + düyməsinə toxunun</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Kanal yükləmədə bir problem var. Zəhmət olmasa bir az sonra yenə cəhd edin.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Dil və region</string>
|
||||
<string name="pref_language_changed">Briar-ı yenidən başlatdığınızda bu parametr qüvvəyə minir. Lütfən çıxın və Briar-ı yenidən başladın.</string>
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
<string name="send">Pošalji</string>
|
||||
<string name="allow">Dozvoli</string>
|
||||
<string name="open">Otvori</string>
|
||||
<string name="change">Promijeni</string>
|
||||
<string name="no_data">Nema podataka</string>
|
||||
<string name="ellipsis">...</string>
|
||||
<string name="text_too_long">Tekst koji ste unijeli je predugačak</string>
|
||||
@@ -102,7 +103,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">Fromat fotografije nije podržan: %s</string>
|
||||
<string name="set_contact_alias">Promijeni ime kontakta</string>
|
||||
<string name="set_contact_alias_hint">Ime kontakta</string>
|
||||
<string name="change">Promijeni</string>
|
||||
<string name="delete_contact">Izbrišite kontakt</string>
|
||||
<string name="dialog_title_delete_contact">Potvrdite brisanje kontakta</string>
|
||||
<string name="dialog_message_delete_contact">Jeste li sigurni da želite da uklonite ovaj kontakt i sve poruke koje ste razmijenili?</string>
|
||||
@@ -342,6 +342,7 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">Kanal nije bilo moguće ukloniti!</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">Nema RSS kanala za prikazivanje\n\nDotaknite + ikonu da uvezete kanal</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Došlo je do problema pri učitavanju vaših kanala. Probajte opet kasnije.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Jezik i regija</string>
|
||||
<string name="pref_language_changed">Ovo podešavanje će stupiti na snagu kada restartujete Briar. Molim vas da se odjavite i restartujete Briar.</string>
|
||||
|
||||
@@ -129,6 +129,7 @@
|
||||
<string name="send">Envia</string>
|
||||
<string name="allow">Permet</string>
|
||||
<string name="open">Obre</string>
|
||||
<string name="change">Canvia</string>
|
||||
<string name="no_data">Sense dades</string>
|
||||
<string name="ellipsis">...</string>
|
||||
<string name="text_too_long">El text és massa llarg</string>
|
||||
@@ -151,7 +152,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">El format de la imatge no s\'admet: %s</string>
|
||||
<string name="set_contact_alias">Canvia el nom del contacte</string>
|
||||
<string name="set_contact_alias_hint">Nom del contacte</string>
|
||||
<string name="change">Canvia</string>
|
||||
<string name="delete_all_messages">Esborra tots els missatges</string>
|
||||
<string name="dialog_title_delete_all_messages">Confirmeu l\'esborrat dels missatges</string>
|
||||
<string name="dialog_message_delete_all_messages">Segur que voleu esborrar tots els missatges?</string>
|
||||
@@ -425,6 +425,7 @@ Així que l\'actualitzi li veureu una icona diferent .</string>
|
||||
<string name="blogs_rss_feeds_manage_delete_error">La subscripció al canal de notícies no s\'ha pogut suprimir.</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">No hi ha cap notícia per mostrar\n\nFeu un toc sobre la icona + per subscriure-us a un canal de notícies</string>
|
||||
<string name="blogs_rss_feeds_manage_error">S\'ha produït un problema en actualitzar els vostres canals de notícies. Torneu-ho a provar més endavant.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Llengua i regió</string>
|
||||
<string name="pref_language_changed">L\'efecte d\'aquest canvi només l\'apreciareu després de reiniciar Briar. Si us plau, tanqueu la sessió i reinicieu Briar.</string>
|
||||
|
||||
@@ -129,6 +129,7 @@
|
||||
<string name="send">Senden</string>
|
||||
<string name="allow">Erlauben</string>
|
||||
<string name="open">Öffnen</string>
|
||||
<string name="change">Ändern</string>
|
||||
<string name="no_data">Keine Daten</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">Der eingegebene Text ist zu lang</string>
|
||||
@@ -151,7 +152,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">Nicht unterstütztes Bildformat: %s</string>
|
||||
<string name="set_contact_alias">Kontaktnamen ändern</string>
|
||||
<string name="set_contact_alias_hint">Name des Kontakts</string>
|
||||
<string name="change">Ändern</string>
|
||||
<string name="delete_all_messages">Alle Nachrichten löschen</string>
|
||||
<string name="dialog_title_delete_all_messages">Löschen der Nachrichten bestätigen</string>
|
||||
<string name="dialog_message_delete_all_messages">Bist du sicher, dass du alle Nachrichten löschen willst?</string>
|
||||
@@ -177,7 +177,7 @@
|
||||
<string name="dialog_title_no_image_support">Bilder nicht verfügbar</string>
|
||||
<string name="dialog_message_no_image_support">Der Briar deines Kontakts unterstützt noch keine Bildanhänge. Sobald die Aktualisierung abgeschlossen ist, siehst du ein anderes Symbol.</string>
|
||||
<string name="dialog_title_image_support">Du kannst nun Bilder an diesen Kontakt senden</string>
|
||||
<string name="dialog_message_image_support">Tippe auf das Symbol, um Bilder anzuhängen.</string>
|
||||
<string name="dialog_message_image_support">Tippe auf dieses Symbol, um Bilder anzuhängen.</string>
|
||||
<string name="messaging_too_many_attachments_toast">Nur die ersten %d Bilder werden übertragen werden</string>
|
||||
<!--Adding Contacts-->
|
||||
<string name="add_contact_title">Kontakt in der Nähe hinzufügen</string>
|
||||
@@ -424,6 +424,11 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">Der Feed konnte nicht gelöscht werden!</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">Keine RSS-Feeds vorhanden\n\nTippe auf das + Symbol, um einen Feed zu importieren</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Es gab ein Problem beim Laden deiner Feeds. Bitte versuche es später erneut.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<string name="change_profile_picture">Tippe, um dein Profilbild zu ändern</string>
|
||||
<string name="dialog_confirm_profile_picture_title">Profilbild ändern</string>
|
||||
<string name="dialog_confirm_profile_picture_remark">Nur deine Kontakte können dein Profilbild sehen</string>
|
||||
<string name="change_profile_picture_failed_message">Es tut uns leid, aber beim Aktualisieren deines Profilbildes ist ein Fehler aufgetreten</string>
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Sprache & Region</string>
|
||||
<string name="pref_language_changed">Diese Einstellung wird beim Neustart von Briar wirksam. Bitte melde dich ab und starte Briar neu.</string>
|
||||
@@ -552,7 +557,9 @@
|
||||
<!--Screen Filters & Tapjacking-->
|
||||
<string name="screen_filter_title">Bildschirmüberlagerung erkannt</string>
|
||||
<string name="screen_filter_body">Eine andere App überlagert Briar. Um deine Sicherheit zu gewährleisten, reagiert Briar in diesem Fall nicht auf deine Eingaben.\n\nDie folgenden Apps könnten überlagern:\n\n%1$s</string>
|
||||
<string name="screen_filter_body_api_30">Eine andere App überlagert Briar. Um deine Sicherheit zu gewährleisten, reagiert Briar in diesem Fall nicht auf deine Eingaben.\n\nÜberprüfe die unten aufgeführten Apps, um die betreffende App zu finden.</string>
|
||||
<string name="screen_filter_allow">Erlaube diesen Apps die Bildschirmüberlagerung</string>
|
||||
<string name="screen_filter_review_apps">Apps überprüfen</string>
|
||||
<!--Permission Requests-->
|
||||
<string name="permission_camera_title">Berechtigung Kamera</string>
|
||||
<string name="permission_camera_request_body">Um den QR-Code zu scannen, benötigt Briar Zugriff auf die Kamera.</string>
|
||||
|
||||
@@ -129,6 +129,7 @@
|
||||
<string name="send">Enviar</string>
|
||||
<string name="allow">Permitir</string>
|
||||
<string name="open">Abrir</string>
|
||||
<string name="change">Cambiar</string>
|
||||
<string name="no_data">Sin datos</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">El texto ingresado es demasiado largo</string>
|
||||
@@ -151,7 +152,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">Formato de imagen no admitido: %s</string>
|
||||
<string name="set_contact_alias">Cambiar nombre del contacto</string>
|
||||
<string name="set_contact_alias_hint">Nombre del contacto</string>
|
||||
<string name="change">Cambiar</string>
|
||||
<string name="delete_all_messages">Eliminar todos los mensajes</string>
|
||||
<string name="dialog_title_delete_all_messages">Confirmar la eliminación del mensaje</string>
|
||||
<string name="dialog_message_delete_all_messages">¿Estás seguro de que deseas eliminar todos los mensajes?</string>
|
||||
@@ -424,6 +424,11 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">¡El canal no pudo ser eliminado!</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">No hay canales RSS que mostrar\n\nGolpea el icono + para importar uno</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Hubo un problema cargando tus canales RSS. Por favor, prueba más tarde.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<string name="change_profile_picture">Pulsar para cambiar la imagen de tu perfil</string>
|
||||
<string name="dialog_confirm_profile_picture_title">Cambiar imagen de perfil</string>
|
||||
<string name="dialog_confirm_profile_picture_remark">Solo tus contactos pueden ver la imagen de tu perfil</string>
|
||||
<string name="change_profile_picture_failed_message">Lo sentimos, pero algo falló mientras se estaba actualizando la imagen de tu perfil</string>
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Lenguaje & región</string>
|
||||
<string name="pref_language_changed">Esta configuración se hará efectiva cuando reinicies Briar. Por favor, cerrar sesión y reiniciar Briar.</string>
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
<string name="send">Bidali</string>
|
||||
<string name="allow">Baimendu</string>
|
||||
<string name="open">Ireki</string>
|
||||
<string name="change">Aldatu</string>
|
||||
<string name="no_data">Daturik ez</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">Sartutako testua luzeegia da</string>
|
||||
@@ -127,7 +128,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">Onartu gabeko irudi formatua: %s</string>
|
||||
<string name="set_contact_alias">Aldatu kontaktuaren izena</string>
|
||||
<string name="set_contact_alias_hint">Kontaktuaren izena</string>
|
||||
<string name="change">Aldatu</string>
|
||||
<string name="delete_all_messages">Ezabatu mezu guztiak</string>
|
||||
<string name="dialog_title_delete_all_messages">Baieztatu mezuak ezabatzea</string>
|
||||
<string name="dialog_message_delete_all_messages">Ziur mezu guztiak ezabatu nahi dituzula?</string>
|
||||
@@ -400,6 +400,7 @@
|
||||
<string name="blogs_rss_feeds_manage_delete_error">Ezin izan da jarioa ezabatu!</string>
|
||||
<string name="blogs_rss_feeds_manage_empty_state">Ez dago erakusteko RSS jariorik\n\nSakatu + ikonoa jario bat inportatzeko</string>
|
||||
<string name="blogs_rss_feeds_manage_error">Arazo bat egon da zure jarioak kargatzean. Saiatu berriro geroago.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">Hizkuntza eta eskualdea</string>
|
||||
<string name="pref_language_changed">Ezarpen hau Briar berrabiaraztean jarriko da indarrean. Amaitu saioa eta berrabiarazi Briar.</string>
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
<string name="send">ارسال</string>
|
||||
<string name="allow">اجازه دادن</string>
|
||||
<string name="open">باز کردن</string>
|
||||
<string name="change">تغییر</string>
|
||||
<string name="no_data">داده ای موجود نمی باشد</string>
|
||||
<string name="ellipsis">…</string>
|
||||
<string name="text_too_long">متن وارد شده بیش از حد طولانی می باشد</string>
|
||||
@@ -154,7 +155,6 @@
|
||||
<string name="image_attach_error_invalid_mime_type">فرمت تصویر پشتیبانی نمیشود: %s</string>
|
||||
<string name="set_contact_alias">تغییر نام مخاطب</string>
|
||||
<string name="set_contact_alias_hint">نام مخاطب</string>
|
||||
<string name="change">تغییر</string>
|
||||
<string name="delete_all_messages">حذف تمام پیام ها</string>
|
||||
<string name="dialog_title_delete_all_messages">تایید حذف پیام</string>
|
||||
<string name="dialog_message_delete_all_messages">آیا از حذف تمام پیام ها اطمینان دارید؟</string>
|
||||
@@ -461,6 +461,7 @@
|
||||
|
||||
برای وارد کردن خوراک روی آیکون + ضربه بزنید</string>
|
||||
<string name="blogs_rss_feeds_manage_error">مشکلی با بارگذاری فیدهای شما وجود داشت. لطفا بعدا امتحان کنید.</string>
|
||||
<!--Settings Profile Picture-->
|
||||
<!--Settings Display-->
|
||||
<string name="pref_language_title">زبان و منطقه</string>
|
||||
<string name="pref_language_changed">این تنظیمات زمانی که Briar (برایر) را ری استارت کنید تاثیر خود را می گذارند. لطفا خارج شوید و Briar (برایر) را دوباره راه اندازی کنید.</string>
|
||||
|
||||