Show whether MAM is supported in MUCs
The conference details in "Advanced Mode" now indicate whether MAM is supported by the conference server.
This commit is contained in:
parent
32abc76689
commit
403db3b080
|
@ -247,6 +247,11 @@ public class MucOptions {
|
||||||
return hasFeature("muc_membersonly");
|
return hasFeature("muc_membersonly");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean mamSupport() {
|
||||||
|
// Update with "urn:xmpp:mam:1" once we support it
|
||||||
|
return hasFeature("urn:xmpp:mam:0");
|
||||||
|
}
|
||||||
|
|
||||||
public boolean nonanonymous() {
|
public boolean nonanonymous() {
|
||||||
return hasFeature("muc_nonanonymous");
|
return hasFeature("muc_nonanonymous");
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ import android.widget.Button;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TableLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
@ -61,6 +62,8 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
||||||
private LinearLayout membersView;
|
private LinearLayout membersView;
|
||||||
private LinearLayout mMoreDetails;
|
private LinearLayout mMoreDetails;
|
||||||
private TextView mConferenceType;
|
private TextView mConferenceType;
|
||||||
|
private TableLayout mConferenceInfoTable;
|
||||||
|
private TextView mConferenceInfoMam;
|
||||||
private ImageButton mChangeConferenceSettingsButton;
|
private ImageButton mChangeConferenceSettingsButton;
|
||||||
private Button mInviteButton;
|
private Button mInviteButton;
|
||||||
private String uuid = null;
|
private String uuid = null;
|
||||||
|
@ -194,7 +197,6 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
||||||
mMoreDetails.setVisibility(View.GONE);
|
mMoreDetails.setVisibility(View.GONE);
|
||||||
mChangeConferenceSettingsButton = (ImageButton) findViewById(R.id.change_conference_button);
|
mChangeConferenceSettingsButton = (ImageButton) findViewById(R.id.change_conference_button);
|
||||||
mChangeConferenceSettingsButton.setOnClickListener(this.mChangeConferenceSettings);
|
mChangeConferenceSettingsButton.setOnClickListener(this.mChangeConferenceSettings);
|
||||||
mConferenceType = (TextView) findViewById(R.id.muc_conference_type);
|
|
||||||
mInviteButton = (Button) findViewById(R.id.invite);
|
mInviteButton = (Button) findViewById(R.id.invite);
|
||||||
mInviteButton.setOnClickListener(inviteListener);
|
mInviteButton.setOnClickListener(inviteListener);
|
||||||
mConferenceType = (TextView) findViewById(R.id.muc_conference_type);
|
mConferenceType = (TextView) findViewById(R.id.muc_conference_type);
|
||||||
|
@ -217,6 +219,9 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.mAdvancedMode = getPreferences().getBoolean("advanced_muc_mode", false);
|
this.mAdvancedMode = getPreferences().getBoolean("advanced_muc_mode", false);
|
||||||
|
this.mConferenceInfoTable = (TableLayout) findViewById(R.id.muc_info_more);
|
||||||
|
mConferenceInfoTable.setVisibility(this.mAdvancedMode ? View.VISIBLE : View.GONE);
|
||||||
|
this.mConferenceInfoMam = (TextView) findViewById(R.id.muc_info_mam);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -240,6 +245,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
||||||
this.mAdvancedMode = !menuItem.isChecked();
|
this.mAdvancedMode = !menuItem.isChecked();
|
||||||
menuItem.setChecked(this.mAdvancedMode);
|
menuItem.setChecked(this.mAdvancedMode);
|
||||||
getPreferences().edit().putBoolean("advanced_muc_mode", mAdvancedMode).commit();
|
getPreferences().edit().putBoolean("advanced_muc_mode", mAdvancedMode).commit();
|
||||||
|
mConferenceInfoTable.setVisibility(this.mAdvancedMode ? View.VISIBLE : View.GONE);
|
||||||
invalidateOptionsMenu();
|
invalidateOptionsMenu();
|
||||||
updateView();
|
updateView();
|
||||||
break;
|
break;
|
||||||
|
@ -473,6 +479,11 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
||||||
} else {
|
} else {
|
||||||
mConferenceType.setText(R.string.public_conference);
|
mConferenceType.setText(R.string.public_conference);
|
||||||
}
|
}
|
||||||
|
if (mucOptions.mamSupport()) {
|
||||||
|
mConferenceInfoMam.setText(R.string.server_info_available);
|
||||||
|
} else {
|
||||||
|
mConferenceInfoMam.setText(R.string.server_info_unavailable);
|
||||||
|
}
|
||||||
if (self.getAffiliation().ranks(MucOptions.Affiliation.OWNER)) {
|
if (self.getAffiliation().ranks(MucOptions.Affiliation.OWNER)) {
|
||||||
mChangeConferenceSettingsButton.setVisibility(View.VISIBLE);
|
mChangeConferenceSettingsButton.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
android:id="@+id/muc_conference_type"
|
android:id="@+id/muc_conference_type"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/private_conference"
|
android:text="@string/private_conference"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:textColor="@color/black87"
|
android:textColor="@color/black87"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody"
|
||||||
|
@ -107,6 +107,35 @@
|
||||||
android:src="?attr/icon_settings"/>
|
android:src="?attr/icon_settings"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<TableLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/muc_info_more"
|
||||||
|
android:stretchColumns="1"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/server_info_mam"
|
||||||
|
android:textColor="@color/black87"
|
||||||
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/muc_info_mam"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="right"
|
||||||
|
android:textColor="@color/black87"
|
||||||
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
</TableLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/details_account"
|
android:id="@+id/details_account"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
Loading…
Reference in New Issue