Sharing: request permission
This commit is contained in:
parent
08aad7d0aa
commit
82e5a28f49
|
@ -2,6 +2,7 @@ package eu.siacs.conversations.ui;
|
|||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
@ -33,7 +34,9 @@ import eu.siacs.conversations.xmpp.jid.Jid;
|
|||
|
||||
public class ShareWithActivity extends XmppActivity implements XmppConnectionService.OnConversationUpdate {
|
||||
|
||||
private static final int REQUEST_STORAGE_PERMISSION = 0x733f32;
|
||||
private boolean mReturnToPrevious = false;
|
||||
private Conversation mPendingConversation = null;
|
||||
|
||||
@Override
|
||||
public void onConversationUpdate() {
|
||||
|
@ -144,6 +147,22 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
|
||||
if (grantResults.length > 0)
|
||||
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
if (requestCode == REQUEST_STORAGE_PERMISSION) {
|
||||
if (this.mPendingConversation != null) {
|
||||
share(this.mPendingConversation);
|
||||
} else {
|
||||
Log.d(Config.LOGTAG,"unable to find stored conversation");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
@ -156,7 +175,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
|
|||
setContentView(R.layout.share_with);
|
||||
setTitle(getString(R.string.title_activity_sharewith));
|
||||
|
||||
mListView = (ListView) findViewById(R.id.choose_conversation_list);
|
||||
mListView = findViewById(R.id.choose_conversation_list);
|
||||
mAdapter = new ConversationAdapter(this, this.mConversations);
|
||||
mListView.setAdapter(mAdapter);
|
||||
mListView.setOnItemClickListener(new OnItemClickListener() {
|
||||
|
@ -274,6 +293,10 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
|
|||
}
|
||||
|
||||
private void share(final Conversation conversation) {
|
||||
if (share.uris.size() != 0 && !hasStoragePermission(REQUEST_STORAGE_PERMISSION)) {
|
||||
mPendingConversation = conversation;
|
||||
return;
|
||||
}
|
||||
final Account account = conversation.getAccount();
|
||||
final XmppConnection connection = account.getXmppConnection();
|
||||
final long max = connection == null ? -1 : connection.getFeatures().getMaxHttpUploadSize();
|
||||
|
|
Loading…
Reference in a new issue