Fixes issue with an action bar
This commit is contained in:
parent
bccfb42ac8
commit
92f6e577fb
|
@ -111,7 +111,7 @@ public class EditProfileActivity extends AppCompatActivity implements OnRetrieve
|
||||||
if( actionBar != null) {
|
if( actionBar != null) {
|
||||||
LayoutInflater inflater = (LayoutInflater) this.getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
|
LayoutInflater inflater = (LayoutInflater) this.getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
|
||||||
assert inflater != null;
|
assert inflater != null;
|
||||||
@SuppressLint("InflateParams") View view = inflater.inflate(R.layout.conversation_action_bar, null);
|
@SuppressLint("InflateParams") View view = inflater.inflate(R.layout.profileedition_action_bar, null);
|
||||||
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
||||||
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
||||||
TextView title = actionBar.getCustomView().findViewById(R.id.toolbar_title);
|
TextView title = actionBar.getCustomView().findViewById(R.id.toolbar_title);
|
||||||
|
|
|
@ -159,6 +159,7 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
||||||
account_pp = findViewById(R.id.account_pp);
|
account_pp = findViewById(R.id.account_pp);
|
||||||
account_dn = findViewById(R.id.account_dn);
|
account_dn = findViewById(R.id.account_dn);
|
||||||
account_un = findViewById(R.id.account_un);
|
account_un = findViewById(R.id.account_un);
|
||||||
|
|
||||||
if(b != null){
|
if(b != null){
|
||||||
accountId = b.getString("accountId");
|
accountId = b.getString("accountId");
|
||||||
new RetrieveRelationshipAsyncTask(getApplicationContext(), accountId,ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRelationshipAsyncTask(getApplicationContext(), accountId,ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
|
@ -279,99 +280,105 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
final ImageButton account_menu = findViewById(R.id.account_menu);
|
final ImageButton account_menu = findViewById(R.id.account_menu);
|
||||||
|
ImageButton action_more = findViewById(R.id.action_more);
|
||||||
account_menu.setOnClickListener(new View.OnClickListener() {
|
account_menu.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if( account == null)
|
showMenu(account_menu);
|
||||||
return;
|
}
|
||||||
final PopupMenu popup = new PopupMenu(ShowAccountActivity.this, account_menu);
|
});
|
||||||
popup.getMenuInflater()
|
action_more.setOnClickListener(new View.OnClickListener() {
|
||||||
.inflate(R.menu.main_showaccount, popup.getMenu());
|
@Override
|
||||||
if( !Helper.canPin || !accountId.equals(userId)) {
|
public void onClick(View v) {
|
||||||
popup.getMenu().findItem(R.id.action_show_pinned).setVisible(false);
|
showMenu(account_menu);
|
||||||
}
|
|
||||||
final String[] stringArrayConf;
|
|
||||||
final boolean isOwner = account.getId().equals(userId);
|
|
||||||
if( isOwner) {
|
|
||||||
popup.getMenu().findItem(R.id.action_block).setVisible(false);
|
|
||||||
popup.getMenu().findItem(R.id.action_mute).setVisible(false);
|
|
||||||
stringArrayConf = getResources().getStringArray(R.array.more_action_owner_confirm);
|
|
||||||
}else {
|
|
||||||
popup.getMenu().findItem(R.id.action_block).setVisible(true);
|
|
||||||
popup.getMenu().findItem(R.id.action_mute).setVisible(true);
|
|
||||||
stringArrayConf = getResources().getStringArray(R.array.more_action_confirm);
|
|
||||||
}
|
|
||||||
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
|
||||||
AlertDialog.Builder builderInner;
|
|
||||||
switch (item.getItemId()) {
|
|
||||||
case R.id.action_show_pinned:
|
|
||||||
showPinned = !showPinned;
|
|
||||||
if( tabLayout.getTabAt(0) != null)
|
|
||||||
//noinspection ConstantConditions
|
|
||||||
tabLayout.getTabAt(0).select();
|
|
||||||
PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
|
|
||||||
mPager.setAdapter(mPagerAdapter);
|
|
||||||
return true;
|
|
||||||
case R.id.action_show_media:
|
|
||||||
showMediaOnly = !showMediaOnly;
|
|
||||||
if( tabLayout.getTabAt(0) != null)
|
|
||||||
//noinspection ConstantConditions
|
|
||||||
tabLayout.getTabAt(0).select();
|
|
||||||
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
|
|
||||||
mPager.setAdapter(mPagerAdapter);
|
|
||||||
return true;
|
|
||||||
case R.id.action_open_browser:
|
|
||||||
if( accountUrl != null) {
|
|
||||||
Intent intent = new Intent(getApplicationContext(), WebviewActivity.class);
|
|
||||||
Bundle b = new Bundle();
|
|
||||||
if( !accountUrl.startsWith("http://") && ! accountUrl.startsWith("https://"))
|
|
||||||
accountUrl = "http://" + accountUrl;
|
|
||||||
b.putString("url", accountUrl);
|
|
||||||
intent.putExtras(b);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
case R.id.action_mute:
|
|
||||||
builderInner = new AlertDialog.Builder(ShowAccountActivity.this);
|
|
||||||
builderInner.setTitle(stringArrayConf[0]);
|
|
||||||
doActionAccount = API.StatusAction.MUTE;
|
|
||||||
break;
|
|
||||||
case R.id.action_block:
|
|
||||||
builderInner = new AlertDialog.Builder(ShowAccountActivity.this);
|
|
||||||
builderInner.setTitle(stringArrayConf[1]);
|
|
||||||
doActionAccount = API.StatusAction.BLOCK;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
builderInner.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog,int which) {
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builderInner.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog,int which) {
|
|
||||||
new PostActionAsyncTask(getApplicationContext(), doActionAccount, account.getId(), ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builderInner.show();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
popup.show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showMenu(View account_menu){
|
||||||
|
if( account == null)
|
||||||
|
return;
|
||||||
|
final PopupMenu popup = new PopupMenu(ShowAccountActivity.this, account_menu);
|
||||||
|
popup.getMenuInflater()
|
||||||
|
.inflate(R.menu.main_showaccount, popup.getMenu());
|
||||||
|
if( !Helper.canPin || !accountId.equals(userId)) {
|
||||||
|
popup.getMenu().findItem(R.id.action_show_pinned).setVisible(false);
|
||||||
|
}
|
||||||
|
final String[] stringArrayConf;
|
||||||
|
final boolean isOwner = account.getId().equals(userId);
|
||||||
|
if( isOwner) {
|
||||||
|
popup.getMenu().findItem(R.id.action_block).setVisible(false);
|
||||||
|
popup.getMenu().findItem(R.id.action_mute).setVisible(false);
|
||||||
|
stringArrayConf = getResources().getStringArray(R.array.more_action_owner_confirm);
|
||||||
|
}else {
|
||||||
|
popup.getMenu().findItem(R.id.action_block).setVisible(true);
|
||||||
|
popup.getMenu().findItem(R.id.action_mute).setVisible(true);
|
||||||
|
stringArrayConf = getResources().getStringArray(R.array.more_action_confirm);
|
||||||
|
}
|
||||||
|
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
|
AlertDialog.Builder builderInner;
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case R.id.action_show_pinned:
|
||||||
|
showPinned = !showPinned;
|
||||||
|
if( tabLayout.getTabAt(0) != null)
|
||||||
|
//noinspection ConstantConditions
|
||||||
|
tabLayout.getTabAt(0).select();
|
||||||
|
PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
|
||||||
|
mPager.setAdapter(mPagerAdapter);
|
||||||
|
return true;
|
||||||
|
case R.id.action_show_media:
|
||||||
|
showMediaOnly = !showMediaOnly;
|
||||||
|
if( tabLayout.getTabAt(0) != null)
|
||||||
|
//noinspection ConstantConditions
|
||||||
|
tabLayout.getTabAt(0).select();
|
||||||
|
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
|
||||||
|
mPager.setAdapter(mPagerAdapter);
|
||||||
|
return true;
|
||||||
|
case R.id.action_open_browser:
|
||||||
|
if( accountUrl != null) {
|
||||||
|
Intent intent = new Intent(getApplicationContext(), WebviewActivity.class);
|
||||||
|
Bundle b = new Bundle();
|
||||||
|
if( !accountUrl.startsWith("http://") && ! accountUrl.startsWith("https://"))
|
||||||
|
accountUrl = "http://" + accountUrl;
|
||||||
|
b.putString("url", accountUrl);
|
||||||
|
intent.putExtras(b);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case R.id.action_mute:
|
||||||
|
builderInner = new AlertDialog.Builder(ShowAccountActivity.this);
|
||||||
|
builderInner.setTitle(stringArrayConf[0]);
|
||||||
|
doActionAccount = API.StatusAction.MUTE;
|
||||||
|
break;
|
||||||
|
case R.id.action_block:
|
||||||
|
builderInner = new AlertDialog.Builder(ShowAccountActivity.this);
|
||||||
|
builderInner.setTitle(stringArrayConf[1]);
|
||||||
|
doActionAccount = API.StatusAction.BLOCK;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
builderInner.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog,int which) {
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog,int which) {
|
||||||
|
new PostActionAsyncTask(getApplicationContext(), doActionAccount, account.getId(), ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
popup.show();
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onPostAction(int statusCode,API.StatusAction statusAction, String targetedId, Error error) {
|
public void onPostAction(int statusCode,API.StatusAction statusAction, String targetedId, Error error) {
|
||||||
if( error != null){
|
if( error != null){
|
||||||
|
|
|
@ -216,11 +216,23 @@
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:id="@+id/show_account_title"
|
android:id="@+id/show_account_title"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textColor="?attr/actionBarTextColor"
|
android:textColor="?attr/actionBarTextColor"
|
||||||
/>
|
/>
|
||||||
|
<ImageButton
|
||||||
|
android:background="?attr/selectableItemBackgroundBorderless"
|
||||||
|
android:id="@+id/action_more"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:src="@drawable/ic_more_vert"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:gravity="center"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v7.widget.Toolbar>
|
</android.support.v7.widget.Toolbar>
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright 2017 Thomas Schneider
|
||||||
|
|
||||||
|
This file is a part of Mastalab
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||||
|
GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||||
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with Mastalab; if not,
|
||||||
|
see <http://www.gnu.org/licenses>.
|
||||||
|
-->
|
||||||
|
<android.support.v7.widget.Toolbar 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:id="@+id/toolbar"
|
||||||
|
android:contentInsetLeft="0dp"
|
||||||
|
android:contentInsetStart="0dp"
|
||||||
|
app:contentInsetLeft="0dp"
|
||||||
|
app:contentInsetStart="0dp"
|
||||||
|
android:contentInsetRight="0dp"
|
||||||
|
android:contentInsetEnd="0dp"
|
||||||
|
app:contentInsetRight="0dp"
|
||||||
|
app:contentInsetEnd="0dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="?attr/popupOverlay"
|
||||||
|
tools:ignore="UnusedAttribute">
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/close_conversation"
|
||||||
|
android:src="@drawable/ic_close"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/pp_actionBar"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="?attr/actionBarTextColor"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:id="@+id/toolbar_title" />
|
||||||
|
|
||||||
|
</android.support.v7.widget.Toolbar>
|
Loading…
Reference in New Issue