import 'package:flutter/material.dart';
import 'dart:io';
import 'dart:async';
import 'package:rxdart/rxdart.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart';
import 'package:permission_handler/permission_handler.dart';
//import 'package:simple_permissions/simple_permissions.dart';
void main() => runApp(MaterialApp(home: MyApp(),));
class MyApp extends StatelessWidget {
DataBloc bloc;
cp()async{
// var per = await SimplePermissions.checkPermission(Permission.WriteExternalStorage);
var per = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
if(per!=PermissionStatus.granted){
print('requested');
await PermissionHandler().requestPermissions([PermissionGroup.storage]);
}
per = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
print('per: $per');
Directory tempDir = await getExternalStorageDirectory();
print(tempDir.path);
print('start cp');
String a = join(tempDir.path, '4');
var p = await Process.run('mkdir', [a]).then((ProcessResult e){
print(e.stdout);
print(e.stderr);
print(e.exitCode);
});
print('cp finished');
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('sss'),),
body: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
RaisedButton(child: Text('mkdir'),onPressed: (){
cp();
},),
RaisedButton(child: Text('delete'),onPressed: (){
},),
],
),
),
);
}
}
class DataBloc {
ReplaySubject dataBloc = ReplaySubject();
}
//void shell(String cmd, List<String> opts, void onExit(int exitCode))async{
// var p = await Process.start(cmd, opts);
// p.stdout.pipe(stdout);
// stdin.pipe(p.stdin);
// p.onExit = (exitCode)async{
// await p.kill();
// onExit(exitCode);
// }
//}
//void shell(String cmd, List<String> opts, void onExit(int exitCode)) {
// var p = Process.start(cmd, opts);
// p.stdout.pipe(stdout); // Process output to stdout.
// stdin.pipe(p.stdin); // stdin to process input.
// p.onExit = (exitCode) {
// p.close();
// onExit(exitCode);
// };
//}