Merge pull request #714 from betheg/muc_bookmark_cd
MUC: option to set/delete bookmark in conference details.
This commit is contained in:
commit
6f21dc84d5
|
@ -27,6 +27,8 @@ import java.util.List;
|
|||
|
||||
import eu.siacs.conversations.R;
|
||||
import eu.siacs.conversations.crypto.PgpEngine;
|
||||
import eu.siacs.conversations.entities.Account;
|
||||
import eu.siacs.conversations.entities.Bookmark;
|
||||
import eu.siacs.conversations.entities.Contact;
|
||||
import eu.siacs.conversations.entities.Conversation;
|
||||
import eu.siacs.conversations.entities.MucOptions.User;
|
||||
|
@ -149,6 +151,12 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
|||
});
|
||||
}
|
||||
break;
|
||||
case R.id.action_save_as_bookmark:
|
||||
saveAsBookmark();
|
||||
break;
|
||||
case R.id.action_delete_bookmark:
|
||||
deleteBookmark();
|
||||
break;
|
||||
}
|
||||
return super.onOptionsItemSelected(menuItem);
|
||||
}
|
||||
|
@ -175,6 +183,21 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuItem menuItemSaveBookmark = menu.findItem(R.id.action_save_as_bookmark);
|
||||
MenuItem menuItemDeleteBookmark = menu.findItem(R.id.action_delete_bookmark);
|
||||
Account account = mConversation.getAccount();
|
||||
if (account.hasBookmarkFor(mConversation.getContactJid().toBareJid())) {
|
||||
menuItemSaveBookmark.setVisible(false);
|
||||
menuItemDeleteBookmark.setVisible(true);
|
||||
} else {
|
||||
menuItemDeleteBookmark.setVisible(false);
|
||||
menuItemSaveBookmark.setVisible(true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.muc_details, menu);
|
||||
|
@ -224,6 +247,22 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
|
|||
}
|
||||
}
|
||||
|
||||
protected void saveAsBookmark() {
|
||||
Account account = mConversation.getAccount();
|
||||
Bookmark bookmark = new Bookmark(account, mConversation.getContactJid().toBareJid());
|
||||
account.getBookmarks().add(bookmark);
|
||||
xmppConnectionService.pushBookmarks(account);
|
||||
mConversation.setBookmark(bookmark);
|
||||
}
|
||||
|
||||
protected void deleteBookmark() {
|
||||
Account account = mConversation.getAccount();
|
||||
Bookmark bookmark = mConversation.getBookmark();
|
||||
bookmark.unregisterConversation();
|
||||
account.getBookmarks().remove(bookmark);
|
||||
xmppConnectionService.pushBookmarks(account);
|
||||
}
|
||||
|
||||
@Override
|
||||
void onBackendConnected() {
|
||||
if (getIntent().getAction().equals(ACTION_VIEW_MUC)) {
|
||||
|
|
|
@ -11,6 +11,16 @@
|
|||
android:id="@+id/action_show_qr_code"
|
||||
android:title="@string/show_qr_code"
|
||||
android:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_save_as_bookmark"
|
||||
android:title="@string/save_as_bookmark"
|
||||
android:orderInCategory="80"
|
||||
android:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_delete_bookmark"
|
||||
android:title="@string/delete_bookmark"
|
||||
android:orderInCategory="80"
|
||||
android:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_accounts"
|
||||
android:orderInCategory="90"
|
||||
|
|
Loading…
Reference in a new issue