migrate to CardView in contact and muc details

This commit is contained in:
Daniel Gultsch 2018-02-17 18:07:20 +01:00
parent 63fb5d98cc
commit eb25643d94
5 changed files with 331 additions and 338 deletions

View File

@ -39,6 +39,7 @@ dependencies {
implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
implementation "com.android.support:support-v13:$supportLibVersion"
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support:cardview-v7:$supportLibVersion"
implementation "com.android.support:support-emoji-appcompat:$supportLibVersion"
implementation "com.android.support:support-emoji:$supportLibVersion"
implementation "com.android.support:design:$supportLibVersion"

View File

@ -6,6 +6,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.IntentSender.SendIntentException;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.Menu;
@ -59,7 +60,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
private TextView mFullJid;
private TextView mAccountJid;
private LinearLayout membersView;
private LinearLayout mMoreDetails;
private CardView mMoreDetails;
private RelativeLayout mMucSettings;
private TextView mConferenceType;
private TableLayout mConferenceInfoTable;
@ -231,43 +232,33 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_muc_details);
mYourNick = (TextView) findViewById(R.id.muc_your_nick);
mYourPhoto = (ImageView) findViewById(R.id.your_photo);
ImageButton mEditNickButton = (ImageButton) findViewById(R.id.edit_nick_button);
mFullJid = (TextView) findViewById(R.id.muc_jabberid);
membersView = (LinearLayout) findViewById(R.id.muc_members);
mAccountJid = (TextView) findViewById(R.id.details_account);
mYourNick = findViewById(R.id.muc_your_nick);
mYourPhoto = findViewById(R.id.your_photo);
ImageButton mEditNickButton = findViewById(R.id.edit_nick_button);
mFullJid = findViewById(R.id.muc_jabberid);
membersView = findViewById(R.id.muc_members);
mAccountJid = findViewById(R.id.details_account);
mMucSettings = findViewById(R.id.muc_settings);
mMoreDetails = (LinearLayout) findViewById(R.id.muc_more_details);
mMoreDetails = findViewById(R.id.muc_more_details);
mMoreDetails.setVisibility(View.GONE);
mChangeConferenceSettingsButton = (ImageButton) findViewById(R.id.change_conference_button);
mChangeConferenceSettingsButton = findViewById(R.id.change_conference_button);
mChangeConferenceSettingsButton.setOnClickListener(this.mChangeConferenceSettings);
mInviteButton = (Button) findViewById(R.id.invite);
mInviteButton = findViewById(R.id.invite);
mInviteButton.setOnClickListener(inviteListener);
mConferenceType = (TextView) findViewById(R.id.muc_conference_type);
mConferenceType = findViewById(R.id.muc_conference_type);
if (getSupportActionBar() != null) {
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
mEditNickButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
quickEdit(mConversation.getMucOptions().getActualNick(),
mEditNickButton.setOnClickListener(v -> quickEdit(mConversation.getMucOptions().getActualNick(),
0,
new OnValueEdited() {
@Override
public String onValueEdited(String value) {
value -> {
if (xmppConnectionService.renameInMuc(mConversation,value,renameCallback)) {
return null;
} else {
return getString(R.string.invalid_username);
}
}
});
}
});
}));
this.mAdvancedMode = getPreferences().getBoolean("advanced_muc_mode", false);
this.mConferenceInfoTable = (TableLayout) findViewById(R.id.muc_info_more);
this.mConferenceInfoTable.setVisibility(this.mAdvancedMode ? View.VISIBLE : View.GONE);

View File

@ -12,6 +12,7 @@ import android.provider.ContactsContract.CommonDataKinds;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@ -115,7 +116,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp
private Button mShowInactiveDevicesButton;
private QuickContactBadge badge;
private LinearLayout keys;
private LinearLayout keysWrapper;
private CardView keysWrapper;
private FlowLayout tags;
private boolean showDynamicTags = false;
private boolean showLastSeen = false;
@ -206,34 +207,26 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp
this.messageFingerprint = getIntent().getStringExtra("fingerprint");
setContentView(R.layout.activity_contact_details);
contactJidTv = (TextView) findViewById(R.id.details_contactjid);
accountJidTv = (TextView) findViewById(R.id.details_account);
lastseen = (TextView) findViewById(R.id.details_lastseen);
statusMessage = (TextView) findViewById(R.id.status_message);
send = (CheckBox) findViewById(R.id.details_send_presence);
receive = (CheckBox) findViewById(R.id.details_receive_presence);
badge = (QuickContactBadge) findViewById(R.id.details_contact_badge);
addContactButton = (Button) findViewById(R.id.add_contact_button);
addContactButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
showAddToRosterDialog(contact);
}
});
keys = (LinearLayout) findViewById(R.id.details_contact_keys);
keysWrapper = (LinearLayout) findViewById(R.id.keys_wrapper);
tags = (FlowLayout) findViewById(R.id.tags);
mShowInactiveDevicesButton = (Button) findViewById(R.id.show_inactive_devices);
contactJidTv = findViewById(R.id.details_contactjid);
accountJidTv = findViewById(R.id.details_account);
lastseen = findViewById(R.id.details_lastseen);
statusMessage = findViewById(R.id.status_message);
send = findViewById(R.id.details_send_presence);
receive = findViewById(R.id.details_receive_presence);
badge = findViewById(R.id.details_contact_badge);
addContactButton = findViewById(R.id.add_contact_button);
addContactButton.setOnClickListener(view -> showAddToRosterDialog(contact));
keys = findViewById(R.id.details_contact_keys);
keysWrapper = findViewById(R.id.keys_wrapper);
tags = findViewById(R.id.tags);
mShowInactiveDevicesButton = findViewById(R.id.show_inactive_devices);
if (getSupportActionBar() != null) {
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
mShowInactiveDevicesButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mShowInactiveDevicesButton.setOnClickListener(v -> {
showInactiveOmemo = !showInactiveOmemo;
populateView();
}
});
}

View File

@ -2,30 +2,33 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="?attr/color_background_secondary" >
android:background="?attr/color_background_secondary">
<LinearLayout
android:id="@+id/details_main_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:background="?attr/infocard_border"
android:padding="@dimen/infocard_padding" >
android:layout_marginTop="@dimen/activity_vertical_margin">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/infocard_padding">
<QuickContactBadge
android:id="@+id/details_contact_badge"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentTop="true"
android:scaleType="centerCrop" />
android:scaleType="centerCrop"/>
<LinearLayout
android:id="@+id/details_jidbox"
@ -33,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/details_contact_badge"
android:orientation="vertical" >
android:orientation="vertical">
<TextView
android:id="@+id/details_contactjid"
@ -42,34 +45,34 @@
android:text="@string/account_settings_example_jabber_id"
android:textColor="?attr/color_text_primary"
android:textSize="?attr/TextSizeHeadline"
android:textStyle="bold" />
android:textStyle="bold"/>
<com.wefika.flowlayout.FlowLayout
android:id="@+id/tags"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginLeft="-2dp"
android:layout_marginBottom="4dp"
android:layout_marginLeft="-2dp"
android:layout_marginTop="4dp"
android:orientation="horizontal">
</com.wefika.flowlayout.FlowLayout>
<TextView
android:id="@+id/details_lastseen"
android:layout_marginTop="4dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="?attr/color_text_primary"
android:textSize="?attr/TextSizeBody" />
android:textSize="?attr/TextSizeBody"/>
<TextView
android:layout_marginTop="8dp"
android:id="@+id/status_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="?attr/color_text_secondary"
android:textStyle="italic"
android:textSize="?attr/TextSizeBody" />
android:textSize="?attr/TextSizeBody"
android:textStyle="italic"/>
<Button
android:id="@+id/add_contact_button"
@ -85,7 +88,7 @@
android:layout_marginTop="8dp"
android:text="@string/send_presence_updates"
android:textColor="?attr/color_text_primary"
android:textSize="?attr/TextSizeBody" />
android:textSize="?attr/TextSizeBody"/>
<CheckBox
android:id="@+id/details_receive_presence"
@ -93,7 +96,7 @@
android:layout_height="wrap_content"
android:text="@string/receive_presence_updates"
android:textColor="?attr/color_text_primary"
android:textSize="?attr/TextSizeBody" />
android:textSize="?attr/TextSizeBody"/>
</LinearLayout>
<TextView
@ -105,43 +108,43 @@
android:layout_marginTop="32dp"
android:text="@string/using_account"
android:textColor="?attr/color_text_secondary"
android:textSize="?attr/TextSizeInfo" />
android:textSize="?attr/TextSizeInfo"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
<LinearLayout
<android.support.v7.widget.CardView
android:id="@+id/keys_wrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:background="?attr/infocard_border"
android:orientation="vertical"
android:padding="@dimen/infocard_padding">
android:layout_marginTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:padding="@dimen/infocard_padding">
<LinearLayout
android:id="@+id/details_contact_keys"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="?android:dividerHorizontal"
android:orientation="vertical"
android:showDividers="middle" >
android:orientation="vertical">
</LinearLayout>
<Button
android:layout_marginTop="8dp"
android:id="@+id/show_inactive_devices"
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/show_inactive_devices"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/show_inactive_devices"
android:textColor="@color/accent"/>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</ScrollView>

View File

@ -11,16 +11,19 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:background="?attr/infocard_border"
android:layout_marginTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/infocard_padding">
android:padding="@dimen/infocard_padding">fill_parent
<TextView
android:id="@+id/muc_jabberid"
@ -83,9 +86,9 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/muc_settings"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/muc_settings">
android:layout_height="wrap_content">
<TextView
android:id="@+id/muc_conference_type"
@ -186,28 +189,29 @@
android:textColor="?attr/color_text_secondary"
android:textSize="?attr/TextSizeInfo"/>
</LinearLayout>
</android.support.v7.widget.CardView>
<LinearLayout
<android.support.v7.widget.CardView
android:id="@+id/muc_more_details"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:background="?attr/infocard_border"
android:layout_marginTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/infocard_padding">
<LinearLayout
android:id="@+id/muc_members"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="?android:dividerHorizontal"
android:orientation="vertical"
android:showDividers="middle">
android:orientation="vertical">
</LinearLayout>
<Button
@ -219,6 +223,7 @@
android:layout_marginTop="24dp"
android:text="@string/invite_contact"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</ScrollView>