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) {
|
||||
LayoutInflater inflater = (LayoutInflater) this.getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
|
||||
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.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
||||
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_dn = findViewById(R.id.account_dn);
|
||||
account_un = findViewById(R.id.account_un);
|
||||
|
||||
if(b != null){
|
||||
accountId = b.getString("accountId");
|
||||
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);
|
||||
ImageButton action_more = findViewById(R.id.action_more);
|
||||
account_menu.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
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();
|
||||
showMenu(account_menu);
|
||||
}
|
||||
});
|
||||
action_more.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showMenu(account_menu);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
public void onPostAction(int statusCode,API.StatusAction statusAction, String targetedId, Error error) {
|
||||
if( error != null){
|
||||
|
|
|
@ -216,11 +216,23 @@
|
|||
android:layout_gravity="center_vertical"
|
||||
android:id="@+id/show_account_title"
|
||||
android:maxLines="1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
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>
|
||||
|
||||
</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