android file sending bugfix

This commit is contained in:
erinn 2021-10-01 12:38:06 -07:00
parent 0c81b4f9d0
commit 74e25534c5
3 changed files with 26 additions and 18 deletions

View File

@ -56,6 +56,7 @@ class MainActivity: FlutterActivity() {
private var shutdownClickChannel: MethodChannel? = null private var shutdownClickChannel: MethodChannel? = null
// "Download to..." prompt extra arguments // "Download to..." prompt extra arguments
private val FILEPICKER_REQUEST_CODE = 234
private var dlToProfile = "" private var dlToProfile = ""
private var dlToHandle = "" private var dlToHandle = ""
private var dlToFileKey = "" private var dlToFileKey = ""
@ -84,11 +85,14 @@ class MainActivity: FlutterActivity() {
// handles return values from the system file picker // handles return values from the system file picker
override fun onActivityResult(requestCode: Int, result: Int, intent: Intent?) { override fun onActivityResult(requestCode: Int, result: Int, intent: Intent?) {
super.onActivityResult(requestCode, result, intent);
if (intent == null || intent!!.getData() == null) { if (intent == null || intent!!.getData() == null) {
Log.i("MainActivity:onActivityResult", "user canceled activity"); Log.i("MainActivity:onActivityResult", "user canceled activity");
return; return;
} }
if (requestCode == FILEPICKER_REQUEST_CODE) {
val filePath = intent!!.getData().toString(); val filePath = intent!!.getData().toString();
val manifestPath = StringBuilder().append(this.applicationContext.cacheDir).append("/").append(this.dlToFileKey).toString(); val manifestPath = StringBuilder().append(this.applicationContext.cacheDir).append("/").append(this.dlToFileKey).toString();
handleCwtch(MethodCall("DownloadFile", mapOf( handleCwtch(MethodCall("DownloadFile", mapOf(
@ -99,6 +103,7 @@ class MainActivity: FlutterActivity() {
"filekey" to this.dlToFileKey "filekey" to this.dlToFileKey
)), ErrorLogResult(""));//placeholder; this Result is never actually invoked )), ErrorLogResult(""));//placeholder; this Result is never actually invoked
} }
}
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine) super.configureFlutterEngine(flutterEngine)
@ -167,7 +172,7 @@ class MainActivity: FlutterActivity() {
type = "application/octet-stream" type = "application/octet-stream"
putExtra(Intent.EXTRA_TITLE, suggestedName) putExtra(Intent.EXTRA_TITLE, suggestedName)
} }
startActivityForResult(intent, 1) startActivityForResult(intent, FILEPICKER_REQUEST_CODE)
return return
} }

View File

@ -81,13 +81,16 @@ class _MessageViewState extends State<MessageView> {
return Card(child: Center(child: Text(AppLocalizations.of(context)!.addContactFirst))); return Card(child: Center(child: Text(AppLocalizations.of(context)!.addContactFirst)));
} }
var showFileSharing = Provider.of<Settings>(context).isExperimentEnabled(FileSharingExperiment);
var appBarButtons = <Widget>[]; var appBarButtons = <Widget>[];
if (Provider.of<ContactInfoState>(context).isOnline()) { if (Provider.of<ContactInfoState>(context).isOnline()) {
if (showFileSharing) {
appBarButtons.add(IconButton( appBarButtons.add(IconButton(
icon: Icon(Icons.attach_file, size: 24), icon: Icon(Icons.attach_file, size: 24),
tooltip: AppLocalizations.of(context)!.tooltipSendFile, tooltip: AppLocalizations.of(context)!.tooltipSendFile,
onPressed: _showFilePicker, onPressed: _showFilePicker,
)); ));
}
appBarButtons.add(IconButton( appBarButtons.add(IconButton(
icon: Icon(CwtchIcons.send_invite, size: 24), icon: Icon(CwtchIcons.send_invite, size: 24),
tooltip: AppLocalizations.of(context)!.sendInvite, tooltip: AppLocalizations.of(context)!.sendInvite,

View File

@ -21,7 +21,7 @@ packages:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.8.1" version: "2.8.2"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -195,7 +195,7 @@ packages:
name: matcher name: matcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.10" version: "0.12.11"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -403,7 +403,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.2" version: "0.4.3"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description: