Change summary
src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 17
src/main/res/drawable-hdpi/ic_action_share.png | 0
src/main/res/drawable-hdpi/ic_share_white_24dp.png | 0
src/main/res/drawable-mdpi/ic_action_share.png | 0
src/main/res/drawable-mdpi/ic_share_white_24dp.png | 0
src/main/res/drawable-xhdpi/ic_action_share.png | 0
src/main/res/drawable-xhdpi/ic_share_white_24dp.png | 0
src/main/res/drawable-xxhdpi/ic_action_share.png | 0
src/main/res/drawable-xxhdpi/ic_share_white_24dp.png | 0
src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png | 0
src/main/res/menu/muc_details.xml | 35
src/main/res/values-v21/themes.xml | 1
src/main/res/values/attrs.xml | 1
src/main/res/values/strings.xml | 2
src/main/res/values/themes.xml | 1
15 files changed, 43 insertions(+), 14 deletions(-)
Detailed changes
@@ -3,8 +3,10 @@ package eu.siacs.conversations.ui;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.IntentSender.SendIntentException;
import android.os.Build;
import android.os.Bundle;
@@ -281,6 +283,9 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
quickEdit(mConversation.getName(),this.onSubjectEdited);
}
break;
+ case R.id.action_share:
+ share();
+ break;
case R.id.action_save_as_bookmark:
saveAsBookmark();
break;
@@ -308,6 +313,18 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
}
}
+ private void share() {
+ Intent shareIntent = new Intent();
+ shareIntent.setAction(Intent.ACTION_SEND);
+ shareIntent.putExtra(Intent.EXTRA_TEXT, getShareableUri());
+ shareIntent.setType("text/plain");
+ try {
+ startActivity(Intent.createChooser(shareIntent, getText(R.string.share_uri_with)));
+ } catch (ActivityNotFoundException e) {
+ Toast.makeText(this, R.string.no_application_to_share_uri, Toast.LENGTH_SHORT).show();
+ }
+ }
+
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem menuItemSaveBookmark = menu.findItem(R.id.action_save_as_bookmark);
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android" >
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_edit_subject"
@@ -7,27 +7,34 @@
android:orderInCategory="10"
android:showAsAction="always"
android:title="@string/action_edit_subject"/>
+ <item
+ android:id="@+id/action_share"
+ android:icon="?attr/icon_share"
+ android:showAsAction="always"
+ android:orderInCategory="15"
+ android:title="@string/share_uri_with"/>
+
<item
android:id="@+id/action_show_qr_code"
- android:title="@string/show_qr_code"
- android:showAsAction="never" />
+ android:showAsAction="never"
+ android:title="@string/show_qr_code"/>
<item
android:id="@+id/action_save_as_bookmark"
- android:title="@string/save_as_bookmark"
android:orderInCategory="80"
- android:showAsAction="never" />
+ android:showAsAction="never"
+ android:title="@string/save_as_bookmark"/>
<item
android:id="@+id/action_delete_bookmark"
- android:title="@string/delete_bookmark"
android:orderInCategory="80"
- android:showAsAction="never" />
- <item
- android:id="@+id/action_advanced_mode"
- android:title="@string/advanced_mode"
- android:checkable="true"
- android:checked="false"
- android:orderInCategory="85"
- android:showAsAction="never" />
+ android:showAsAction="never"
+ android:title="@string/delete_bookmark"/>
+ <item
+ android:id="@+id/action_advanced_mode"
+ android:checkable="true"
+ android:checked="false"
+ android:orderInCategory="85"
+ android:showAsAction="never"
+ android:title="@string/advanced_mode"/>
<item
android:id="@+id/action_accounts"
android:orderInCategory="90"
@@ -32,6 +32,7 @@
<item name="attr/icon_secure">@drawable/ic_lock_open_white_24dp</item>
<item name="attr/icon_settings">@drawable/ic_settings_grey600_24dp</item>
<item name="attr/icon_import_export">@drawable/ic_import_export_white_24dp</item>
+ <item name="attr/icon_share">@drawable/ic_share_white_24dp</item>
</style>
@@ -24,6 +24,7 @@
<attr name="icon_search" format="reference"/>
<attr name="icon_secure" format="reference"/>
<attr name="icon_settings" format="reference"/>
+ <attr name="icon_share" format="reference"/>
<attr name="icon_import_export" format="reference"/>
</resources>
@@ -612,4 +612,6 @@
<string name="select_image_and_crop">Select image and crop</string>
<string name="this_account_is_disabled">You have disabled this account</string>
<string name="security_error_invalid_file_access">Security error: Invalid file access</string>
+ <string name="no_application_to_share_uri">No application found to share URI</string>
+ <string name="share_uri_with">Share URI withβ¦</string>
</resources>
@@ -30,6 +30,7 @@
<item name="attr/icon_secure">@drawable/ic_action_secure</item>
<item name="attr/icon_settings">@drawable/ic_action_settings</item>
<item name="attr/icon_import_export">@drawable/ic_stat_communication_import_export</item>
+ <item name="attr/icon_share">@drawable/ic_action_share</item>
</style>
<style name="ConversationsTheme.LargerText" parent="ConversationsTheme">