Also show overflow icon on devices with menu key by using Toolbar

This commit is contained in:
Torsten Grote
2016-12-14 11:17:04 -02:00
parent 32be148c7a
commit db71472501
14 changed files with 100 additions and 82 deletions

View File

@@ -3,6 +3,9 @@ package org.briarproject.briar.android.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Build;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.transition.Slide;
import android.transition.Transition;
import android.view.Gravity;
@@ -94,6 +97,27 @@ public abstract class BriarActivity extends BaseActivity {
window.setBackgroundDrawableResource(android.R.color.transparent);
}
/**
* This should be called after the content view has been added in onCreate()
*
* @param ownLayout true if the custom toolbar brings its own layout
* @return the Toolbar object or null if content view did not contain one
*/
@Nullable
protected Toolbar setUpCustomToolbar(boolean ownLayout) {
// Custom Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayShowHomeEnabled(true);
ab.setDisplayHomeAsUpEnabled(true);
ab.setDisplayShowCustomEnabled(ownLayout);
ab.setDisplayShowTitleEnabled(!ownLayout);
}
return toolbar;
}
protected void signOut(final boolean removeFromRecentApps) {
briarController.signOut(new UiResultHandler<Void>(this) {
@Override

View File

@@ -3,6 +3,7 @@ package org.briarproject.briar.android.blog;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.Toolbar;
import android.view.View;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
@@ -38,12 +39,12 @@ public class BlogActivity extends BriarActivity
final GroupId groupId = new GroupId(b);
blogController.setGroupId(groupId);
setContentView(R.layout.activity_fragment_container);
setContentView(R.layout.activity_fragment_container_toolbar);
Toolbar toolbar = setUpCustomToolbar(false);
// Open Sharing Status on ActionBar click
View actionBar = findViewById(R.id.action_bar);
if (actionBar != null) {
actionBar.setOnClickListener(
// Open Sharing Status on Toolbar click
if (toolbar != null) {
toolbar.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {

View File

@@ -6,7 +6,6 @@ import android.os.Bundle;
import android.support.annotation.UiThread;
import android.support.design.widget.Snackbar;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.ActionMenuView;
import android.support.v7.widget.LinearLayoutManager;
@@ -176,21 +175,13 @@ public class ConversationActivity extends BriarActivity
setContentView(R.layout.activity_conversation);
// Custom Toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar = setUpCustomToolbar(true);
if (toolbar != null) {
toolbarAvatar =
(CircleImageView) toolbar.findViewById(R.id.contactAvatar);
toolbarStatus =
(ImageView) toolbar.findViewById(R.id.contactStatus);
toolbarTitle = (TextView) toolbar.findViewById(R.id.contactName);
setSupportActionBar(toolbar);
}
ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayShowHomeEnabled(true);
ab.setDisplayHomeAsUpEnabled(true);
ab.setDisplayShowCustomEnabled(true);
ab.setDisplayShowTitleEnabled(false);
}
setTransitionName(toolbarAvatar, getAvatarTransitionName(contactId));

View File

@@ -8,6 +8,7 @@ import android.support.annotation.LayoutRes;
import android.support.annotation.StringRes;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -63,15 +64,16 @@ public class ForumActivity extends
public void onCreate(@Nullable Bundle state) {
super.onCreate(state);
Toolbar toolbar = setUpCustomToolbar(false);
Intent i = getIntent();
String groupName = i.getStringExtra(GROUP_NAME);
if (groupName != null) setTitle(groupName);
else loadNamedGroup();
// Open Sharing Status on ActionBar click
View actionBar = findViewById(R.id.action_bar);
if (actionBar != null) {
actionBar.setOnClickListener(
// Open member list on Toolbar click
if (toolbar != null) {
toolbar.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -92,7 +94,7 @@ public class ForumActivity extends
@Override
@LayoutRes
protected int getLayout() {
return R.layout.activity_forum;
return R.layout.activity_threaded_conversation;
}
@Override

View File

@@ -60,7 +60,7 @@ public class KeyAgreementActivity extends BriarActivity implements
@Override
public void onCreate(@Nullable Bundle state) {
super.onCreate(state);
setContentView(R.layout.activity_plain);
setContentView(R.layout.activity_fragment_container_toolbar);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

View File

@@ -8,6 +8,7 @@ import android.support.annotation.LayoutRes;
import android.support.annotation.StringRes;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -68,15 +69,16 @@ public class GroupActivity extends
public void onCreate(@Nullable Bundle state) {
super.onCreate(state);
Toolbar toolbar = setUpCustomToolbar(false);
Intent i = getIntent();
String groupName = i.getStringExtra(GROUP_NAME);
if (groupName != null) setTitle(groupName);
loadNamedGroup();
// Open member list on ActionBar click
View actionBar = findViewById(R.id.action_bar);
if (actionBar != null) {
actionBar.setOnClickListener(
// Open member list on Toolbar click
if (toolbar != null) {
toolbar.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -94,7 +96,7 @@ public class GroupActivity extends
@Override
@LayoutRes
protected int getLayout() {
return R.layout.activity_forum;
return R.layout.activity_threaded_conversation;
}
@Override