mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 03:09:04 +01:00
Make animations more consistent
This commit is contained in:
@@ -3,10 +3,16 @@ package org.briarproject.briar.android.activity;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.transition.Slide;
|
||||
import android.transition.Transition;
|
||||
import android.view.Gravity;
|
||||
import android.view.Window;
|
||||
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.controller.BriarController;
|
||||
import org.briarproject.briar.android.controller.DbController;
|
||||
import org.briarproject.briar.android.controller.handler.UiResultHandler;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
import org.briarproject.briar.android.login.PasswordActivity;
|
||||
import org.briarproject.briar.android.panic.ExitActivity;
|
||||
|
||||
@@ -44,7 +50,7 @@ public abstract class BriarActivity extends BaseActivity {
|
||||
super.onActivityResult(request, result, data);
|
||||
if (request == REQUEST_PASSWORD) {
|
||||
if (result == RESULT_OK) briarController.startAndBindService();
|
||||
else finish();
|
||||
else supportFinishAfterTransition();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,11 +59,41 @@ public abstract class BriarActivity extends BaseActivity {
|
||||
super.onStart();
|
||||
if (!briarController.hasEncryptionKey() && !isFinishing()) {
|
||||
Intent i = new Intent(this, PasswordActivity.class);
|
||||
i.setFlags(FLAG_ACTIVITY_NO_ANIMATION | FLAG_ACTIVITY_SINGLE_TOP);
|
||||
i.setFlags(FLAG_ACTIVITY_SINGLE_TOP);
|
||||
startActivityForResult(i, REQUEST_PASSWORD);
|
||||
}
|
||||
}
|
||||
|
||||
protected void showInitialFragment(BaseFragment f) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||
.commit();
|
||||
}
|
||||
|
||||
public void showNextFragment(BaseFragment f) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(R.anim.step_next_in,
|
||||
R.anim.step_previous_out, R.anim.step_previous_in,
|
||||
R.anim.step_next_out)
|
||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||
.addToBackStack(f.getUniqueTag())
|
||||
.commit();
|
||||
}
|
||||
|
||||
public void setSceneTransitionAnimation() {
|
||||
if (Build.VERSION.SDK_INT < 21) return;
|
||||
Transition slide = new Slide(Gravity.RIGHT);
|
||||
slide.excludeTarget(android.R.id.statusBarBackground, true);
|
||||
slide.excludeTarget(android.R.id.navigationBarBackground, true);
|
||||
Window window = getWindow();
|
||||
window.requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
|
||||
window.setExitTransition(slide);
|
||||
window.setEnterTransition(slide);
|
||||
window.setTransitionBackgroundFadeDuration(getResources()
|
||||
.getInteger(android.R.integer.config_longAnimTime));
|
||||
window.setBackgroundDrawableResource(android.R.color.transparent);
|
||||
}
|
||||
|
||||
protected void signOut(final boolean removeFromRecentApps) {
|
||||
briarController.signOut(new UiResultHandler<Void>(this) {
|
||||
@Override
|
||||
@@ -83,7 +119,7 @@ public abstract class BriarActivity extends BaseActivity {
|
||||
|
||||
private void finishAndExit() {
|
||||
if (Build.VERSION.SDK_INT >= 21) finishAndRemoveTask();
|
||||
else finish();
|
||||
else supportFinishAfterTransition();
|
||||
LOG.info("Exiting");
|
||||
System.exit(0);
|
||||
}
|
||||
@@ -98,7 +134,7 @@ public abstract class BriarActivity extends BaseActivity {
|
||||
runOnUiThreadUnlessDestroyed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package org.briarproject.briar.android.activity;
|
||||
|
||||
import android.support.annotation.AnimRes;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.contact.ContactListFragment;
|
||||
@@ -49,31 +47,15 @@ public abstract class BriarFragmentActivity extends BriarActivity {
|
||||
else startFragment(fragment, true);
|
||||
}
|
||||
|
||||
protected void showMessageDialog(int titleStringId, int msgStringId) {
|
||||
// TODO replace with custom dialog fragment ?
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this,
|
||||
R.style.BriarDialogTheme);
|
||||
builder.setTitle(titleStringId);
|
||||
builder.setMessage(msgStringId);
|
||||
builder.setPositiveButton(R.string.ok, null);
|
||||
AlertDialog dialog = builder.create();
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public void startFragment(BaseFragment fragment,
|
||||
boolean isAddedToBackStack) {
|
||||
startFragment(fragment, 0, 0, isAddedToBackStack);
|
||||
}
|
||||
|
||||
private void startFragment(BaseFragment fragment,
|
||||
@AnimRes int inAnimation, @AnimRes int outAnimation,
|
||||
protected void startFragment(BaseFragment fragment,
|
||||
boolean isAddedToBackStack) {
|
||||
FragmentTransaction trans =
|
||||
getSupportFragmentManager().beginTransaction();
|
||||
if (inAnimation != 0 && outAnimation != 0) {
|
||||
trans.setCustomAnimations(inAnimation, 0, 0, outAnimation);
|
||||
}
|
||||
trans.replace(R.id.content_fragment, fragment, fragment.getUniqueTag());
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(R.anim.dialog_in,
|
||||
R.anim.dialog_out, R.anim.dialog_in,
|
||||
R.anim.dialog_out)
|
||||
.replace(R.id.fragmentContainer, fragment,
|
||||
fragment.getUniqueTag());
|
||||
if (isAddedToBackStack) {
|
||||
trans.addToBackStack(fragment.getUniqueTag());
|
||||
}
|
||||
|
||||
@@ -57,10 +57,7 @@ public class BlogActivity extends BriarActivity implements
|
||||
}
|
||||
|
||||
if (state == null) {
|
||||
BlogFragment f = BlogFragment.newInstance(groupId);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||
.commit();
|
||||
showInitialFragment(BlogFragment.newInstance(groupId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,10 +69,7 @@ public class BlogActivity extends BriarActivity implements
|
||||
@Override
|
||||
public void onBlogPostClick(BlogPostItem post) {
|
||||
BlogPostFragment f = BlogPostFragment.newInstance(post.getId());
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||
.addToBackStack(f.getUniqueTag())
|
||||
.commit();
|
||||
showNextFragment(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -142,30 +142,25 @@ public class BlogFragment extends BaseFragment
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(getActivity(),
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_write_blog_post:
|
||||
Intent i = new Intent(getActivity(),
|
||||
WriteBlogPostActivity.class);
|
||||
i.putExtra(GROUP_ID, groupId.getBytes());
|
||||
startActivityForResult(i, REQUEST_WRITE_POST,
|
||||
options.toBundle());
|
||||
startActivityForResult(i, REQUEST_WRITE_POST);
|
||||
return true;
|
||||
case R.id.action_blog_share:
|
||||
Intent i2 = new Intent(getActivity(), ShareBlogActivity.class);
|
||||
i2.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
|
||||
i2.putExtra(GROUP_ID, groupId.getBytes());
|
||||
startActivityForResult(i2, REQUEST_SHARE, options.toBundle());
|
||||
startActivityForResult(i2, REQUEST_SHARE);
|
||||
return true;
|
||||
case R.id.action_blog_sharing_status:
|
||||
Intent i3 = new Intent(getActivity(),
|
||||
BlogSharingStatusActivity.class);
|
||||
i3.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
|
||||
i3.putExtra(GROUP_ID, groupId.getBytes());
|
||||
startActivity(i3, options.toBundle());
|
||||
startActivity(i3);
|
||||
return true;
|
||||
case R.id.action_blog_delete:
|
||||
showDeleteDialog();
|
||||
|
||||
@@ -137,15 +137,14 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
|
||||
i.putExtra(GROUP_ID, item.getGroupId().getBytes());
|
||||
i.putExtra(POST_ID, item.getId().getBytes());
|
||||
|
||||
// work-around for android bug #224270
|
||||
if (Build.VERSION.SDK_INT >= 23) {
|
||||
ActivityOptionsCompat options =
|
||||
makeSceneTransitionAnimation((Activity) ctx, layout,
|
||||
getTransitionName(item.getId()));
|
||||
ActivityCompat
|
||||
.startActivity((Activity) ctx, i,
|
||||
options.toBundle());
|
||||
ActivityCompat.startActivity((Activity) ctx, i,
|
||||
options.toBundle());
|
||||
} else {
|
||||
// work-around for android bug #224270
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
}
|
||||
@@ -167,6 +166,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
|
||||
reblogger.setDate(item.getTimestamp());
|
||||
reblogger.setBlogLink(item.getGroupId());
|
||||
reblogger.setVisibility(VISIBLE);
|
||||
reblogger.setPersona(AuthorView.REBLOGGER);
|
||||
|
||||
author.setPersona(AuthorView.COMMENTER);
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -36,7 +35,6 @@ import javax.inject.Inject;
|
||||
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
import static android.support.design.widget.Snackbar.LENGTH_LONG;
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
||||
import static org.briarproject.briar.android.blog.BlogActivity.REQUEST_WRITE_POST;
|
||||
|
||||
@@ -169,28 +167,24 @@ public class FeedFragment extends BaseFragment implements
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
if (personalBlog == null) return false;
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(getActivity(), android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_write_blog_post:
|
||||
Intent i1 =
|
||||
new Intent(getActivity(), WriteBlogPostActivity.class);
|
||||
i1.putExtra(GROUP_ID, personalBlog.getId().getBytes());
|
||||
startActivityForResult(i1, REQUEST_WRITE_POST,
|
||||
options.toBundle());
|
||||
startActivityForResult(i1, REQUEST_WRITE_POST);
|
||||
return true;
|
||||
case R.id.action_rss_feeds_import:
|
||||
Intent i2 =
|
||||
new Intent(getActivity(), RssFeedImportActivity.class);
|
||||
i2.putExtra(GROUP_ID, personalBlog.getId().getBytes());
|
||||
startActivity(i2, options.toBundle());
|
||||
startActivity(i2);
|
||||
return true;
|
||||
case R.id.action_rss_feeds_manage:
|
||||
Intent i3 =
|
||||
new Intent(getActivity(), RssFeedManageActivity.class);
|
||||
i3.putExtra(GROUP_ID, personalBlog.getId().getBytes());
|
||||
startActivity(i3, options.toBundle());
|
||||
startActivity(i3);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
@@ -225,10 +219,7 @@ public class FeedFragment extends BaseFragment implements
|
||||
public void onBlogPostClick(BlogPostItem post) {
|
||||
FeedPostFragment f =
|
||||
FeedPostFragment.newInstance(post.getGroupId(), post.getId());
|
||||
getActivity().getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.content_fragment, f, f.getUniqueTag())
|
||||
.addToBackStack(f.getUniqueTag())
|
||||
.commit();
|
||||
showNextFragment(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
package org.briarproject.briar.android.blog;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.transition.Fade;
|
||||
import android.transition.Transition;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import org.briarproject.bramble.api.sync.GroupId;
|
||||
@@ -23,10 +19,7 @@ public class ReblogActivity extends BriarActivity implements
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
setTransition();
|
||||
}
|
||||
setSceneTransitionAnimation();
|
||||
|
||||
Intent intent = getIntent();
|
||||
byte[] groupId = intent.getByteArrayExtra(GROUP_ID);
|
||||
@@ -41,10 +34,7 @@ public class ReblogActivity extends BriarActivity implements
|
||||
if (savedInstanceState == null) {
|
||||
ReblogFragment f = ReblogFragment
|
||||
.newInstance(new GroupId(groupId), new MessageId(postId));
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.add(R.id.fragmentContainer, f)
|
||||
.commit();
|
||||
showInitialFragment(f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,13 +59,4 @@ public class ReblogActivity extends BriarActivity implements
|
||||
|
||||
}
|
||||
|
||||
@TargetApi(21)
|
||||
private void setTransition() {
|
||||
Transition fade = new Fade();
|
||||
fade.excludeTarget(android.R.id.statusBarBackground, true);
|
||||
fade.excludeTarget(R.id.action_bar_container, true);
|
||||
fade.excludeTarget(android.R.id.navigationBarBackground, true);
|
||||
getWindow().setExitTransition(fade);
|
||||
getWindow().setEnterTransition(fade);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,6 @@ package org.briarproject.briar.android.blog;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -26,7 +24,6 @@ import java.util.logging.Logger;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.support.design.widget.Snackbar.LENGTH_LONG;
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
|
||||
public class RssFeedManageActivity extends BriarActivity
|
||||
@@ -89,13 +86,9 @@ public class RssFeedManageActivity extends BriarActivity
|
||||
onBackPressed();
|
||||
return true;
|
||||
case R.id.action_rss_feeds_import:
|
||||
Intent i =
|
||||
new Intent(this, RssFeedImportActivity.class);
|
||||
Intent i = new Intent(this, RssFeedImportActivity.class);
|
||||
i.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(this, android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
ActivityCompat.startActivity(this, i, options.toBundle());
|
||||
startActivity(i);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
||||
@@ -120,7 +120,6 @@ public class ContactListFragment extends BaseFragment implements EventListener {
|
||||
ContactId contactId = item.getContact().getId();
|
||||
i.putExtra(CONTACT_ID, contactId.getInt());
|
||||
|
||||
// work-around for android bug #224270
|
||||
if (Build.VERSION.SDK_INT >= 23) {
|
||||
ContactListItemViewHolder holder =
|
||||
(ContactListItemViewHolder) list
|
||||
@@ -140,7 +139,8 @@ public class ContactListFragment extends BaseFragment implements EventListener {
|
||||
ActivityCompat.startActivity(getActivity(), i,
|
||||
options.toBundle());
|
||||
} else {
|
||||
getActivity().startActivity(i);
|
||||
// work-around for android bug #224270
|
||||
startActivity(i);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5,10 +5,7 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.view.ViewCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.ActionMenuView;
|
||||
@@ -55,7 +52,6 @@ import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.activity.BriarActivity;
|
||||
import org.briarproject.briar.android.contact.ConversationAdapter.ConversationListener;
|
||||
import org.briarproject.briar.android.introduction.IntroductionActivity;
|
||||
import org.briarproject.briar.android.util.UiUtils;
|
||||
import org.briarproject.briar.android.view.BriarRecyclerView;
|
||||
import org.briarproject.briar.android.view.TextInputView;
|
||||
import org.briarproject.briar.android.view.TextInputView.TextInputListener;
|
||||
@@ -100,12 +96,14 @@ import im.delight.android.identicons.IdenticonDrawable;
|
||||
import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt;
|
||||
import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt.OnHidePromptListener;
|
||||
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static android.support.v4.view.ViewCompat.setTransitionName;
|
||||
import static android.support.v7.util.SortedList.INVALID_POSITION;
|
||||
import static android.widget.Toast.LENGTH_SHORT;
|
||||
import static java.util.logging.Level.INFO;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.android.util.UiUtils.getAvatarTransitionName;
|
||||
import static org.briarproject.briar.android.util.UiUtils.getBulbTransitionName;
|
||||
import static org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_BODY_LENGTH;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@@ -117,7 +115,7 @@ public class ConversationActivity extends BriarActivity
|
||||
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(ConversationActivity.class.getName());
|
||||
private static final int REQUEST_CODE_INTRODUCTION = 1;
|
||||
private static final int REQUEST_CODE_INTRODUCTION = 2;
|
||||
private static final String SHOW_ONBOARDING_INTRODUCTION =
|
||||
"showOnboardingIntroduction";
|
||||
|
||||
@@ -168,6 +166,7 @@ public class ConversationActivity extends BriarActivity
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle state) {
|
||||
super.onCreate(state);
|
||||
setSceneTransitionAnimation();
|
||||
|
||||
Intent i = getIntent();
|
||||
int id = i.getIntExtra(CONTACT_ID, -1);
|
||||
@@ -194,10 +193,8 @@ public class ConversationActivity extends BriarActivity
|
||||
ab.setDisplayShowTitleEnabled(false);
|
||||
}
|
||||
|
||||
ViewCompat.setTransitionName(toolbarAvatar,
|
||||
UiUtils.getAvatarTransitionName(contactId));
|
||||
ViewCompat.setTransitionName(toolbarStatus,
|
||||
UiUtils.getBulbTransitionName(contactId));
|
||||
setTransitionName(toolbarAvatar, getAvatarTransitionName(contactId));
|
||||
setTransitionName(toolbarStatus, getBulbTransitionName(contactId));
|
||||
|
||||
adapter = new ConversationAdapter(this, this);
|
||||
list = (BriarRecyclerView) findViewById(R.id.conversationView);
|
||||
@@ -267,13 +264,8 @@ public class ConversationActivity extends BriarActivity
|
||||
case R.id.action_introduction:
|
||||
if (contactId == null) return false;
|
||||
Intent intent = new Intent(this, IntroductionActivity.class);
|
||||
intent.putExtra(IntroductionActivity.CONTACT_ID,
|
||||
contactId.getInt());
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(this, android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
ActivityCompat.startActivityForResult(this, intent,
|
||||
REQUEST_CODE_INTRODUCTION, options.toBundle());
|
||||
intent.putExtra(CONTACT_ID, contactId.getInt());
|
||||
startActivityForResult(intent, REQUEST_CODE_INTRODUCTION);
|
||||
return true;
|
||||
case R.id.action_social_remove_person:
|
||||
askToRemoveContact();
|
||||
@@ -283,13 +275,6 @@ public class ConversationActivity extends BriarActivity
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// FIXME disabled exit transition, because it doesn't work for some reason #318
|
||||
//supportFinishAfterTransition();
|
||||
finish();
|
||||
}
|
||||
|
||||
private void loadContactDetails() {
|
||||
runOnDbThread(new Runnable() {
|
||||
@Override
|
||||
@@ -714,7 +699,7 @@ public class ConversationActivity extends BriarActivity
|
||||
String deleted = getString(R.string.contact_deleted_toast);
|
||||
Toast.makeText(ConversationActivity.this, deleted, LENGTH_SHORT)
|
||||
.show();
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package org.briarproject.briar.android.contactselection;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.CallSuper;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.transition.Fade;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -69,10 +67,6 @@ public abstract class BaseContactSelectorFragment<I extends SelectableContactIte
|
||||
|
||||
View contentView = inflater.inflate(R.layout.list, container, false);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
setExitTransition(new Fade());
|
||||
}
|
||||
|
||||
list = (BriarRecyclerView) contentView.findViewById(R.id.list);
|
||||
list.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
list.setEmptyText(getString(R.string.no_contacts_selector));
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package org.briarproject.briar.android.contactselection;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.CallSuper;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.transition.Fade;
|
||||
|
||||
import org.briarproject.bramble.api.contact.ContactId;
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
@@ -39,10 +37,6 @@ public abstract class ContactSelectorActivity
|
||||
|
||||
setContentView(getLayout());
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
getWindow().setExitTransition(new Fade());
|
||||
}
|
||||
|
||||
if (bundle != null) {
|
||||
// restore group ID if it was saved
|
||||
byte[] groupBytes = bundle.getByteArray(GROUP_ID);
|
||||
|
||||
@@ -158,7 +158,7 @@ public class CreateForumActivity extends BriarActivity
|
||||
startActivity(i);
|
||||
Toast.makeText(CreateForumActivity.this,
|
||||
R.string.forum_created_toast, LENGTH_LONG).show();
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,8 +6,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.view.Menu;
|
||||
@@ -37,7 +35,6 @@ import javax.inject.Inject;
|
||||
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static android.widget.Toast.LENGTH_SHORT;
|
||||
import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_POST_BODY_LENGTH;
|
||||
|
||||
@@ -124,8 +121,6 @@ public class ForumActivity extends
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
ActivityOptionsCompat options = makeCustomAnimation(this,
|
||||
android.R.anim.slide_in_left, android.R.anim.slide_out_right);
|
||||
// Handle presses on the action bar items
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_forum_compose_post:
|
||||
@@ -135,14 +130,13 @@ public class ForumActivity extends
|
||||
Intent i2 = new Intent(this, ShareForumActivity.class);
|
||||
i2.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
|
||||
i2.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityCompat.startActivityForResult(this, i2,
|
||||
REQUEST_FORUM_SHARED, options.toBundle());
|
||||
startActivityForResult(i2, REQUEST_FORUM_SHARED);
|
||||
return true;
|
||||
case R.id.action_forum_sharing_status:
|
||||
Intent i3 = new Intent(this, ForumSharingStatusActivity.class);
|
||||
i3.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
|
||||
i3.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityCompat.startActivity(this, i3, options.toBundle());
|
||||
startActivity(i3);
|
||||
return true;
|
||||
case R.id.action_forum_delete:
|
||||
showUnsubscribeDialog();
|
||||
|
||||
@@ -71,6 +71,9 @@ public abstract class BaseFragment extends Fragment
|
||||
@UiThread
|
||||
ActivityComponent getActivityComponent();
|
||||
|
||||
@UiThread
|
||||
void showNextFragment(BaseFragment f);
|
||||
|
||||
@UiThread
|
||||
void onFragmentCreated(String tag);
|
||||
}
|
||||
@@ -92,4 +95,9 @@ public abstract class BaseFragment extends Fragment
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
protected void showNextFragment(BaseFragment f) {
|
||||
listener.showNextFragment(f);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package org.briarproject.briar.android.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
|
||||
public class SignOutFragment extends BaseFragment {
|
||||
|
||||
private static final String TAG = SignOutFragment.class.getName();
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
@Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.fragment_sign_out, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUniqueTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectFragment(ActivityComponent component) {
|
||||
// no need to inject
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
package org.briarproject.briar.android.introduction;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.transition.Fade;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -31,13 +29,13 @@ import java.util.logging.Logger;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
|
||||
|
||||
public class ContactChooserFragment extends BaseFragment {
|
||||
|
||||
public static final String TAG = ContactChooserFragment.class.getName();
|
||||
private static final Logger LOG = Logger.getLogger(TAG);
|
||||
|
||||
private IntroductionActivity introductionActivity;
|
||||
private BriarRecyclerView list;
|
||||
private ContactListAdapter adapter;
|
||||
private ContactId contactId;
|
||||
@@ -51,11 +49,12 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
@Inject
|
||||
volatile ConnectionRegistry connectionRegistry;
|
||||
|
||||
public static ContactChooserFragment newInstance() {
|
||||
public static ContactChooserFragment newInstance(ContactId id) {
|
||||
|
||||
Bundle args = new Bundle();
|
||||
|
||||
ContactChooserFragment fragment = new ContactChooserFragment();
|
||||
args.putInt(CONTACT_ID, id.getInt());
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
@@ -63,7 +62,6 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
introductionActivity = (IntroductionActivity) context;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,17 +70,13 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
|
||||
View contentView = inflater.inflate(R.layout.list, container, false);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
setExitTransition(new Fade());
|
||||
}
|
||||
|
||||
OnContactClickListener<ContactListItem> onContactClickListener =
|
||||
new OnContactClickListener<ContactListItem>() {
|
||||
@Override
|
||||
public void onItemClick(View view, ContactListItem item) {
|
||||
if (c1 == null) throw new IllegalStateException();
|
||||
Contact c2 = item.getContact();
|
||||
introductionActivity.showMessageScreen(view, c1, c2);
|
||||
showMessageScreen(c1, c2);
|
||||
}
|
||||
};
|
||||
adapter = new ContactListAdapter(getActivity(), onContactClickListener);
|
||||
@@ -92,7 +86,7 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
list.setAdapter(adapter);
|
||||
list.setEmptyText(getString(R.string.no_contacts));
|
||||
|
||||
contactId = introductionActivity.getContactId();
|
||||
contactId = new ContactId(getArguments().getInt(CONTACT_ID));
|
||||
|
||||
return contentView;
|
||||
}
|
||||
@@ -121,7 +115,7 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
private void loadContacts() {
|
||||
introductionActivity.runOnDbThread(new Runnable() {
|
||||
listener.runOnDbThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
@@ -149,7 +143,7 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
private void displayContacts(final List<ContactListItem> contacts) {
|
||||
introductionActivity.runOnUiThreadUnlessDestroyed(new Runnable() {
|
||||
runOnUiThreadUnlessDestroyed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (contacts.isEmpty()) list.showData();
|
||||
@@ -158,4 +152,11 @@ public class ContactChooserFragment extends BaseFragment {
|
||||
});
|
||||
}
|
||||
|
||||
private void showMessageScreen(Contact c1, Contact c2) {
|
||||
IntroductionMessageFragment messageFragment =
|
||||
IntroductionMessageFragment
|
||||
.newInstance(c1.getId().getInt(), c2.getId().getInt());
|
||||
showNextFragment(messageFragment);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
package org.briarproject.briar.android.introduction;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.transition.ChangeBounds;
|
||||
import android.transition.Fade;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import org.briarproject.bramble.api.contact.Contact;
|
||||
import org.briarproject.bramble.api.contact.ContactId;
|
||||
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 static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
|
||||
|
||||
public class IntroductionActivity extends BriarActivity
|
||||
implements BaseFragmentListener {
|
||||
|
||||
public static final String CONTACT_ID = "briar.CONTACT_ID";
|
||||
|
||||
private ContactId contactId;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -30,16 +21,12 @@ public class IntroductionActivity extends BriarActivity
|
||||
Intent intent = getIntent();
|
||||
int id = intent.getIntExtra(CONTACT_ID, -1);
|
||||
if (id == -1) throw new IllegalStateException("No ContactId");
|
||||
contactId = new ContactId(id);
|
||||
ContactId contactId = new ContactId(id);
|
||||
|
||||
setContentView(R.layout.activity_fragment_container);
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.add(R.id.fragmentContainer,
|
||||
ContactChooserFragment.newInstance())
|
||||
.commit();
|
||||
showInitialFragment(ContactChooserFragment.newInstance(contactId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,55 +40,4 @@ public class IntroductionActivity extends BriarActivity
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
// Handle presses on the action bar items
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
onBackPressed();
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.getBackStackEntryCount() == 1) {
|
||||
fm.popBackStack();
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
ContactId getContactId() {
|
||||
return contactId;
|
||||
}
|
||||
|
||||
void showMessageScreen(View view, Contact c1, Contact c2) {
|
||||
|
||||
IntroductionMessageFragment messageFragment =
|
||||
IntroductionMessageFragment
|
||||
.newInstance(c1.getId().getInt(), c2.getId().getInt());
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
messageFragment.setSharedElementEnterTransition(new ChangeBounds());
|
||||
messageFragment.setEnterTransition(new Fade());
|
||||
messageFragment.setSharedElementReturnTransition(
|
||||
new ChangeBounds());
|
||||
}
|
||||
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in,
|
||||
android.R.anim.fade_out,
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right)
|
||||
.addSharedElement(view, "avatar")
|
||||
.replace(R.id.fragmentContainer, messageFragment,
|
||||
ContactChooserFragment.TAG)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
@@ -92,8 +93,6 @@ public class IntroductionMessageFragment extends BaseFragment
|
||||
// inflate view
|
||||
View v = inflater.inflate(R.layout.introduction_message, container,
|
||||
false);
|
||||
|
||||
// show progress bar until contacts have been loaded
|
||||
ui = new ViewHolder(v);
|
||||
ui.text.setVisibility(GONE);
|
||||
ui.message.setSendButtonEnabled(false);
|
||||
@@ -174,6 +173,18 @@ public class IntroductionMessageFragment extends BaseFragment
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
introductionActivity.hideSoftKeyboard(ui.message);
|
||||
introductionActivity.onBackPressed();
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSendClick(String text) {
|
||||
// disable button to prevent accidental double invitations
|
||||
|
||||
@@ -151,7 +151,7 @@ public class AddContactActivity extends BriarActivity
|
||||
String format = getString(R.string.contact_added_toast);
|
||||
String text = String.format(format, contactName);
|
||||
Toast.makeText(this, text, LENGTH_LONG).show();
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ 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.BriarFragmentActivity;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||
import org.briarproject.briar.android.keyagreement.IntroFragment.IntroScreenSeenListener;
|
||||
|
||||
@@ -41,9 +42,6 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(KeyAgreementActivity.class.getName());
|
||||
|
||||
private static final int STEP_INTRO = 1;
|
||||
private static final int STEP_QR = 2;
|
||||
|
||||
@Inject
|
||||
EventBus eventBus;
|
||||
|
||||
@@ -70,18 +68,8 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
getSupportActionBar().setTitle(R.string.add_contact_title);
|
||||
if (state == null) showStep(STEP_INTRO);
|
||||
}
|
||||
|
||||
private void showStep(int step) {
|
||||
switch (step) {
|
||||
case STEP_QR:
|
||||
startFragment(ShowQrCodeFragment.newInstance(), true);
|
||||
break;
|
||||
case STEP_INTRO:
|
||||
default:
|
||||
startFragment(IntroFragment.newInstance(), true);
|
||||
break;
|
||||
if (state == null) {
|
||||
showInitialFragment(IntroFragment.newInstance());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,18 +96,15 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() == 1) {
|
||||
supportFinishAfterTransition();
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showNextScreen() {
|
||||
showStep(STEP_QR);
|
||||
// FIXME with #288
|
||||
// showNextFragment(ShowQrCodeFragment.newInstance());
|
||||
BaseFragment f = ShowQrCodeFragment.newInstance();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, f, f.getUniqueTag())
|
||||
.addToBackStack(f.getUniqueTag())
|
||||
.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -173,7 +158,7 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
|
||||
String text = String.format(format, contactName);
|
||||
Toast.makeText(KeyAgreementActivity.this, text, LENGTH_LONG)
|
||||
.show();
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ public class ChangePasswordActivity extends BaseActivity
|
||||
R.string.password_changed,
|
||||
Toast.LENGTH_LONG).show();
|
||||
setResult(RESULT_OK);
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
} else {
|
||||
tryAgain();
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ public class PasswordActivity extends BaseActivity {
|
||||
@Override
|
||||
public void onCreate(Bundle state) {
|
||||
super.onCreate(state);
|
||||
overridePendingTransition(R.anim.dialog_in, R.anim.dialog_out);
|
||||
|
||||
if (!passwordController.accountExists()) {
|
||||
deleteAccount();
|
||||
@@ -97,7 +98,7 @@ public class PasswordActivity extends BaseActivity {
|
||||
passwordController.deleteAccount(this);
|
||||
setResult(RESULT_CANCELED);
|
||||
startActivity(new Intent(this, SetupActivity.class));
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
|
||||
public void onSignInClick(View v) {
|
||||
@@ -132,7 +133,9 @@ public class PasswordActivity extends BaseActivity {
|
||||
public void onResultUi(@NonNull Boolean result) {
|
||||
if (result) {
|
||||
setResult(RESULT_OK);
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
overridePendingTransition(R.anim.screen_new_in,
|
||||
R.anim.screen_old_out);
|
||||
} else {
|
||||
tryAgain();
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ public class SetupActivity extends BaseActivity implements OnClickListener,
|
||||
@Override
|
||||
public void onCreate(Bundle state) {
|
||||
super.onCreate(state);
|
||||
overridePendingTransition(R.anim.dialog_in, R.anim.dialog_out);
|
||||
setContentView(R.layout.activity_setup);
|
||||
|
||||
nicknameEntryWrapper =
|
||||
@@ -149,6 +150,7 @@ public class SetupActivity extends BaseActivity implements OnClickListener,
|
||||
Intent i = new Intent(this, NavDrawerActivity.class);
|
||||
i.setFlags(FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(i);
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
overridePendingTransition(R.anim.screen_new_in, R.anim.screen_old_out);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package org.briarproject.briar.android.navdrawer;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.NavigationView;
|
||||
import android.support.design.widget.NavigationView.OnNavigationItemSelectedListener;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBarDrawerToggle;
|
||||
@@ -32,6 +30,7 @@ import org.briarproject.briar.android.blog.FeedFragment;
|
||||
import org.briarproject.briar.android.contact.ContactListFragment;
|
||||
import org.briarproject.briar.android.forum.ForumListFragment;
|
||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||
import org.briarproject.briar.android.fragment.SignOutFragment;
|
||||
import org.briarproject.briar.android.privategroup.list.GroupListFragment;
|
||||
import org.briarproject.briar.android.settings.SettingsActivity;
|
||||
|
||||
@@ -56,16 +55,13 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(NavDrawerActivity.class.getName());
|
||||
|
||||
private final static String PREF_SEEN_WELCOME_MESSAGE = "welcome_message";
|
||||
|
||||
private ActionBarDrawerToggle drawerToggle;
|
||||
|
||||
@Inject
|
||||
NavDrawerController controller;
|
||||
|
||||
private DrawerLayout drawerLayout;
|
||||
private TextView progressTitle;
|
||||
private ViewGroup progressViewGroup;
|
||||
private NavigationView navigation;
|
||||
|
||||
private List<Transport> transports;
|
||||
private BaseAdapter transportsAdapter;
|
||||
@@ -101,11 +97,8 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
NavigationView navigation =
|
||||
(NavigationView) findViewById(R.id.navigation);
|
||||
navigation = (NavigationView) findViewById(R.id.navigation);
|
||||
GridView transportsView = (GridView) findViewById(R.id.transportsView);
|
||||
progressTitle = (TextView) findViewById(R.id.title_progress_bar);
|
||||
progressViewGroup = (ViewGroup) findViewById(R.id.container_progress);
|
||||
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
@@ -120,8 +113,6 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
initializeTransports(getLayoutInflater());
|
||||
transportsView.setAdapter(transportsAdapter);
|
||||
|
||||
welcomeMessageCheck();
|
||||
|
||||
if (state == null) {
|
||||
navigation.setCheckedItem(R.id.nav_btn_contacts);
|
||||
startFragment(ContactListFragment.newInstance());
|
||||
@@ -131,15 +122,6 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
}
|
||||
}
|
||||
|
||||
private void welcomeMessageCheck() {
|
||||
SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
|
||||
if (!prefs.getBoolean(PREF_SEEN_WELCOME_MESSAGE, false)) {
|
||||
showMessageDialog(R.string.dialog_title_welcome,
|
||||
R.string.dialog_welcome_message);
|
||||
prefs.edit().putBoolean(PREF_SEEN_WELCOME_MESSAGE, true).apply();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
@@ -155,7 +137,7 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
}
|
||||
|
||||
private void loadFragment(int fragmentId) {
|
||||
// TODO re-use fragments from the manager when possible
|
||||
// TODO re-use fragments from the manager when possible (#606)
|
||||
switch (fragmentId) {
|
||||
case R.id.nav_btn_contacts:
|
||||
startFragment(ContactListFragment.newInstance());
|
||||
@@ -202,7 +184,7 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
clearBackStack();
|
||||
loadFragment(item.getItemId());
|
||||
//Don't display the Settings Item as checked
|
||||
if(item.getItemId() == R.id.nav_btn_settings){
|
||||
if (item.getItemId() == R.id.nav_btn_settings){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -216,8 +198,7 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
return;
|
||||
}
|
||||
// Check the Contacts item because we always return to Contacts here
|
||||
NavigationView navigation = (NavigationView) findViewById(R.id.navigation);
|
||||
navigation.getMenu().findItem(R.id.nav_btn_contacts).setChecked(true);
|
||||
navigation.setCheckedItem(R.id.nav_btn_contacts);
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@@ -235,10 +216,8 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
|
||||
@Override
|
||||
protected void signOut() {
|
||||
// Disable navigation drawer slide to open
|
||||
drawerLayout.setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED);
|
||||
progressTitle.setText(R.string.progress_title_logout);
|
||||
progressViewGroup.setVisibility(View.VISIBLE);
|
||||
startFragment(new SignOutFragment());
|
||||
super.signOut();
|
||||
}
|
||||
|
||||
@@ -285,21 +264,25 @@ public class NavDrawerActivity extends BriarFragmentActivity implements
|
||||
@Override
|
||||
public View getView(int position, View convertView,
|
||||
ViewGroup parent) {
|
||||
ViewGroup view = (ViewGroup) inflater.inflate(
|
||||
R.layout.list_item_transport, parent, false);
|
||||
View view;
|
||||
if (convertView != null) view = convertView;
|
||||
else view =
|
||||
inflater.inflate(R.layout.list_item_transport, parent,
|
||||
false);
|
||||
|
||||
Transport t = getItem(position);
|
||||
Resources r = getResources();
|
||||
|
||||
int c;
|
||||
if (t.enabled) {
|
||||
c = r.getColor(R.color.briar_green_light);
|
||||
c = ContextCompat.getColor(NavDrawerActivity.this,
|
||||
R.color.briar_green_light);
|
||||
} else {
|
||||
c = r.getColor(android.R.color.tertiary_text_light);
|
||||
c = ContextCompat.getColor(NavDrawerActivity.this,
|
||||
android.R.color.tertiary_text_light);
|
||||
}
|
||||
|
||||
ImageView icon = (ImageView) view.findViewById(R.id.imageView);
|
||||
icon.setImageDrawable(r.getDrawable(t.iconId));
|
||||
icon.setImageDrawable(ContextCompat
|
||||
.getDrawable(NavDrawerActivity.this, t.iconId));
|
||||
icon.setColorFilter(c);
|
||||
|
||||
TextView text = (TextView) view.findViewById(R.id.textView);
|
||||
|
||||
@@ -126,7 +126,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(
|
||||
"market://details?id=info.guardianproject.ripple"));
|
||||
getActivity().startActivity(intent);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -6,8 +6,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.LayoutRes;
|
||||
import android.support.annotation.StringRes;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
@@ -37,7 +35,6 @@ import org.briarproject.briar.api.privategroup.Visibility;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static android.view.View.GONE;
|
||||
import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_POST_BODY_LENGTH;
|
||||
|
||||
@@ -152,9 +149,6 @@ public class GroupActivity extends
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(this, android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_group_compose_message:
|
||||
showTextInput(null);
|
||||
@@ -162,18 +156,17 @@ public class GroupActivity extends
|
||||
case R.id.action_group_member_list:
|
||||
Intent i1 = new Intent(this, GroupMemberListActivity.class);
|
||||
i1.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityCompat.startActivity(this, i1, options.toBundle());
|
||||
startActivity(i1);
|
||||
return true;
|
||||
case R.id.action_group_reveal:
|
||||
Intent i2 = new Intent(this, RevealContactsActivity.class);
|
||||
i2.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityCompat.startActivity(this, i2, options.toBundle());
|
||||
startActivity(i2);
|
||||
return true;
|
||||
case R.id.action_group_invite:
|
||||
Intent i3 = new Intent(this, GroupInviteActivity.class);
|
||||
i3.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityCompat.startActivityForResult(this, i3, REQUEST_INVITE,
|
||||
options.toBundle());
|
||||
startActivityForResult(i3, REQUEST_INVITE);
|
||||
return true;
|
||||
case R.id.action_group_leave:
|
||||
showLeaveGroupDialog();
|
||||
|
||||
@@ -4,7 +4,6 @@ import org.briarproject.bramble.api.contact.ContactId;
|
||||
import org.briarproject.bramble.api.db.DbException;
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.contactselection.ContactSelectorActivity;
|
||||
import org.briarproject.briar.android.controller.handler.UiResultExceptionHandler;
|
||||
import org.briarproject.briar.android.sharing.BaseMessageFragment.MessageFragmentListener;
|
||||
@@ -27,15 +26,7 @@ public abstract class BaseGroupInviteActivity
|
||||
public void contactsSelected(Collection<ContactId> contacts) {
|
||||
super.contactsSelected(contacts);
|
||||
|
||||
CreateGroupMessageFragment fragment = new CreateGroupMessageFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in,
|
||||
android.R.anim.fade_out,
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right)
|
||||
.replace(R.id.fragmentContainer, fragment)
|
||||
.addToBackStack(fragment.getUniqueTag())
|
||||
.commit();
|
||||
showNextFragment(new CreateGroupMessageFragment());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,8 +2,7 @@ package org.briarproject.briar.android.privategroup.creation;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import org.briarproject.bramble.api.db.DbException;
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
@@ -15,10 +14,6 @@ import org.briarproject.briar.android.controller.handler.UiResultExceptionHandle
|
||||
import org.briarproject.briar.android.privategroup.conversation.GroupActivity;
|
||||
import org.briarproject.briar.android.sharing.BaseMessageFragment.MessageFragmentListener;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
public class CreateGroupActivity extends BaseGroupInviteActivity implements
|
||||
@@ -34,10 +29,7 @@ public class CreateGroupActivity extends BaseGroupInviteActivity implements
|
||||
super.onCreate(bundle);
|
||||
|
||||
if (bundle == null) {
|
||||
CreateGroupFragment fragment = new CreateGroupFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.fragmentContainer, fragment)
|
||||
.commit();
|
||||
showInitialFragment(new CreateGroupFragment());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,25 +64,13 @@ public class CreateGroupActivity extends BaseGroupInviteActivity implements
|
||||
|
||||
private void switchToContactSelectorFragment(GroupId g) {
|
||||
setTitle(R.string.groups_invite_members);
|
||||
GroupInviteFragment fragment =
|
||||
GroupInviteFragment.newInstance(g);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in,
|
||||
android.R.anim.fade_out,
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right)
|
||||
.replace(R.id.fragmentContainer, fragment)
|
||||
.addToBackStack(fragment.getUniqueTag())
|
||||
.commit();
|
||||
showNextFragment(GroupInviteFragment.newInstance(g));
|
||||
}
|
||||
|
||||
private void openNewGroup() {
|
||||
Intent i = new Intent(this, GroupActivity.class);
|
||||
i.putExtra(GROUP_ID, groupId.getBytes());
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(this, android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
ActivityCompat.startActivity(this, i, options.toBundle());
|
||||
startActivity(i);
|
||||
// finish this activity, so we can't come back to it
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import org.briarproject.bramble.api.sync.GroupId;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||
import org.briarproject.briar.android.sharing.BaseMessageFragment.MessageFragmentListener;
|
||||
|
||||
@@ -26,11 +25,7 @@ public class GroupInviteActivity extends BaseGroupInviteActivity
|
||||
groupId = new GroupId(g);
|
||||
|
||||
if (bundle == null) {
|
||||
GroupInviteFragment fragment =
|
||||
GroupInviteFragment.newInstance(groupId);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, fragment)
|
||||
.commit();
|
||||
showInitialFragment(GroupInviteFragment.newInstance(groupId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -38,7 +37,6 @@ import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import static android.support.design.widget.Snackbar.LENGTH_INDEFINITE;
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
@@ -117,11 +115,7 @@ public class GroupListFragment extends BaseFragment implements
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_add_group:
|
||||
Intent i = new Intent(getContext(), CreateGroupActivity.class);
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(getActivity(),
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
startActivity(i, options.toBundle());
|
||||
startActivity(i);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
@@ -240,11 +234,7 @@ public class GroupListFragment extends BaseFragment implements
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent i = new Intent(getContext(), GroupInvitationActivity.class);
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(getActivity(),
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
startActivity(i, options.toBundle());
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.briarproject.briar.android.privategroup.list;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
@@ -19,7 +18,6 @@ import org.briarproject.briar.android.util.UiUtils;
|
||||
import org.briarproject.briar.android.view.TextAvatarView;
|
||||
|
||||
import static android.support.v4.content.ContextCompat.getColor;
|
||||
import static android.support.v4.content.ContextCompat.startActivities;
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
||||
@@ -126,11 +124,7 @@ class GroupViewHolder extends RecyclerView.ViewHolder {
|
||||
GroupId id = group.getId();
|
||||
i.putExtra(GROUP_ID, id.getBytes());
|
||||
i.putExtra(GROUP_NAME, group.getName());
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat
|
||||
.makeCustomAnimation(ctx, android.R.anim.fade_in,
|
||||
android.R.anim.fade_out);
|
||||
Intent[] intents = {i};
|
||||
startActivities(ctx, intents, options.toBundle());
|
||||
ctx.startActivity(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -58,11 +58,7 @@ public class RevealContactsActivity extends ContactSelectorActivity
|
||||
button.setEnabled(false);
|
||||
|
||||
if (bundle == null) {
|
||||
RevealContactsFragment fragment =
|
||||
RevealContactsFragment.newInstance(groupId);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragmentContainer, fragment)
|
||||
.commit();
|
||||
showInitialFragment(RevealContactsFragment.newInstance(groupId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.bramble.api.sync.GroupId;
|
||||
import org.briarproject.briar.R;
|
||||
import org.briarproject.briar.android.contactselection.ContactSelectorActivity;
|
||||
import org.briarproject.briar.android.contactselection.ContactSelectorFragment;
|
||||
import org.briarproject.briar.android.sharing.BaseMessageFragment.MessageFragmentListener;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -36,17 +35,7 @@ public abstract class ShareActivity extends ContactSelectorActivity
|
||||
@Override
|
||||
public void contactsSelected(Collection<ContactId> contacts) {
|
||||
super.contactsSelected(contacts);
|
||||
|
||||
BaseMessageFragment messageFragment = getMessageFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in,
|
||||
android.R.anim.fade_out,
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right)
|
||||
.replace(R.id.fragmentContainer, messageFragment,
|
||||
ContactSelectorFragment.TAG)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
showNextFragment(getMessageFragment());
|
||||
}
|
||||
|
||||
abstract BaseMessageFragment getMessageFragment();
|
||||
|
||||
@@ -41,10 +41,7 @@ public class ShareBlogActivity extends ShareActivity {
|
||||
super.onCreate(bundle);
|
||||
|
||||
if (bundle == null) {
|
||||
ShareBlogFragment fragment = ShareBlogFragment.newInstance(groupId);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.fragmentContainer, fragment)
|
||||
.commit();
|
||||
showInitialFragment(ShareBlogFragment.newInstance(groupId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,11 +41,7 @@ public class ShareForumActivity extends ShareActivity {
|
||||
super.onCreate(bundle);
|
||||
|
||||
if (bundle == null) {
|
||||
ShareForumFragment fragment =
|
||||
ShareForumFragment.newInstance(groupId);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.fragmentContainer, fragment)
|
||||
.commit();
|
||||
showInitialFragment(ShareForumFragment.newInstance(groupId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package org.briarproject.briar.android.splash;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.StrictMode;
|
||||
import android.os.StrictMode.ThreadPolicy;
|
||||
import android.os.StrictMode.VmPolicy;
|
||||
import android.support.v7.preference.PreferenceManager;
|
||||
import android.transition.Fade;
|
||||
|
||||
import org.briarproject.bramble.api.system.AndroidExecutor;
|
||||
import org.briarproject.briar.R;
|
||||
@@ -45,6 +47,10 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
public void onCreate(Bundle state) {
|
||||
super.onCreate(state);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
getWindow().setExitTransition(new Fade());
|
||||
}
|
||||
|
||||
setPreferencesDefaults();
|
||||
|
||||
setContentView(R.layout.splash);
|
||||
@@ -53,7 +59,7 @@ public class SplashScreenActivity extends BaseActivity {
|
||||
@Override
|
||||
public void run() {
|
||||
startNextActivity();
|
||||
finish();
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.briarproject.briar.android.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.TextInputLayout;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
@@ -36,7 +37,7 @@ public class UiUtils {
|
||||
public static final int TEASER_LENGTH = 320;
|
||||
public static final float GREY_OUT = 0.5f;
|
||||
|
||||
public static void setError(TextInputLayout til, String error,
|
||||
public static void setError(TextInputLayout til, @Nullable String error,
|
||||
boolean set) {
|
||||
if (set) {
|
||||
if (til.getError() == null) til.setError(error);
|
||||
@@ -116,4 +117,5 @@ public class UiUtils {
|
||||
public static String getBulbTransitionName(ContactId c) {
|
||||
return "bulb" + c.getInt();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,8 +6,6 @@ import android.content.res.TypedArray;
|
||||
import android.graphics.Typeface;
|
||||
import android.support.annotation.DimenRes;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -31,7 +29,6 @@ import im.delight.android.identicons.IdenticonDrawable;
|
||||
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||
import static android.graphics.Typeface.BOLD;
|
||||
import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
|
||||
import static android.util.TypedValue.COMPLEX_UNIT_PX;
|
||||
import static org.briarproject.bramble.api.identity.Author.Status.OURSELVES;
|
||||
import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID;
|
||||
@@ -116,13 +113,7 @@ public class AuthorView extends RelativeLayout {
|
||||
Intent i = new Intent(getContext(), BlogActivity.class);
|
||||
i.putExtra(GROUP_ID, groupId.getBytes());
|
||||
i.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
|
||||
ActivityOptionsCompat options =
|
||||
makeCustomAnimation(getContext(),
|
||||
android.R.anim.slide_in_left,
|
||||
android.R.anim.slide_out_right);
|
||||
Intent[] intents = {i};
|
||||
ContextCompat.startActivities(getContext(), intents,
|
||||
options.toBundle());
|
||||
getContext().startActivity(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -135,9 +126,19 @@ public class AuthorView extends RelativeLayout {
|
||||
|
||||
public void setPersona(int persona) {
|
||||
switch (persona) {
|
||||
case NORMAL:
|
||||
avatarIcon.setVisibility(VISIBLE);
|
||||
date.setVisibility(VISIBLE);
|
||||
setAvatarSize(R.dimen.blogs_avatar_normal_size);
|
||||
setTextSize(authorName, R.dimen.text_size_small);
|
||||
setCenterVertical(authorName, false);
|
||||
setCenterVertical(trustIndicator, false);
|
||||
break;
|
||||
case REBLOGGER:
|
||||
avatarIcon.setVisibility(VISIBLE);
|
||||
date.setVisibility(VISIBLE);
|
||||
setAvatarSize(R.dimen.blogs_avatar_normal_size);
|
||||
setTextSize(authorName, R.dimen.text_size_small);
|
||||
setCenterVertical(authorName, false);
|
||||
setCenterVertical(trustIndicator, false);
|
||||
break;
|
||||
@@ -162,8 +163,7 @@ public class AuthorView extends RelativeLayout {
|
||||
|
||||
private void setAvatarSize(@DimenRes int res) {
|
||||
LayoutParams params = (LayoutParams) avatar.getLayoutParams();
|
||||
int size = getResources().getDimensionPixelSize(
|
||||
res);
|
||||
int size = getResources().getDimensionPixelSize(res);
|
||||
params.height = size;
|
||||
params.width = size;
|
||||
avatar.setLayoutParams(params);
|
||||
|
||||
Reference in New Issue
Block a user