3939import java .io .IOException ;
4040import java .util .Map ;
4141
42-
43- /**
44- * OpenFilePlugin
45- */
4642public class OpenFilePlugin implements MethodCallHandler
4743 , FlutterPlugin
4844 , ActivityAware
4945 , PluginRegistry .RequestPermissionsResultListener
5046 , PluginRegistry .ActivityResultListener {
51- /**
52- * Plugin registration.
53- */
54- private @ Nullable
55- FlutterPluginBinding flutterPluginBinding ;
5647
48+ private @ Nullable FlutterPluginBinding flutterPluginBinding ;
5749 private Context context ;
5850 private Activity activity ;
5951 private MethodChannel channel ;
60-
61-
6252 private Result result ;
6353 private String filePath ;
6454 private String typeString ;
65-
6655 private boolean isResultSubmitted = false ;
6756
6857 private static final int REQUEST_CODE = 33432 ;
6958 private static final int RESULT_CODE = 0x12 ;
7059 private static final String TYPE_STRING_APK = "application/vnd.android.package-archive" ;
7160
72- @ Deprecated
73- public static void registerWith (PluginRegistry .Registrar registrar ) {
74- OpenFilePlugin plugin = new OpenFilePlugin ();
75- plugin .activity = registrar .activity ();
76- plugin .context = registrar .context ();
77- plugin .channel = new MethodChannel (registrar .messenger (), "open_file" );
78- plugin .channel .setMethodCallHandler (plugin );
79- registrar .addRequestPermissionsResultListener (plugin );
80- registrar .addActivityResultListener (plugin );
61+ @ Override
62+ public void onAttachedToEngine (@ NonNull FlutterPluginBinding binding ) {
63+ this .flutterPluginBinding = binding ;
64+ context = flutterPluginBinding .getApplicationContext ();
65+ setup ();
66+ }
67+
68+ private void setup () {
69+ if (flutterPluginBinding != null ) {
70+ channel = new MethodChannel (flutterPluginBinding .getBinaryMessenger (), "open_file" );
71+ channel .setMethodCallHandler (this );
72+ }
73+ }
74+
75+ @ Override
76+ public void onDetachedFromEngine (@ NonNull FlutterPluginBinding binding ) {
77+ if (channel != null ) {
78+ channel .setMethodCallHandler (null );
79+ channel = null ;
80+ }
81+ this .flutterPluginBinding = null ;
82+ }
83+
84+ @ Override
85+ public void onAttachedToActivity (ActivityPluginBinding binding ) {
86+ activity = binding .getActivity ();
87+ binding .addRequestPermissionsResultListener (this );
88+ binding .addActivityResultListener (this );
89+ }
90+
91+ @ Override
92+ public void onDetachedFromActivityForConfigChanges () {
93+ onDetachedFromActivity ();
94+ }
95+
96+ @ Override
97+ public void onReattachedToActivityForConfigChanges (@ NonNull ActivityPluginBinding binding ) {
98+ onAttachedToActivity (binding );
99+ }
100+
101+ @ Override
102+ public void onDetachedFromActivity () {
103+ if (channel != null ) {
104+ channel .setMethodCallHandler (null );
105+ channel = null ;
106+ }
107+ activity = null ;
81108 }
82109
83110 private boolean hasPermission (String permission ) {
@@ -395,56 +422,4 @@ private void result(int type, String message) {
395422 isResultSubmitted = true ;
396423 }
397424 }
398-
399- @ Override
400- public void onAttachedToEngine (@ NonNull FlutterPluginBinding binding ) {
401- this .flutterPluginBinding = binding ;
402- context = flutterPluginBinding .getApplicationContext ();
403- setup ();
404- }
405-
406- private void setup () {
407- channel = new MethodChannel (flutterPluginBinding .getBinaryMessenger (), "open_file" );
408- channel .setMethodCallHandler (this );
409- }
410-
411- @ Override
412- public void onDetachedFromEngine (@ NonNull FlutterPluginBinding binding ) {
413- if (channel == null ) {
414- // Could be on too low of an SDK to have started listening originally.
415- return ;
416- }
417-
418- channel .setMethodCallHandler (null );
419- channel = null ;
420- this .flutterPluginBinding = null ;
421- }
422-
423- @ Override
424- public void onAttachedToActivity (ActivityPluginBinding binding ) {
425- setup ();
426- activity = binding .getActivity ();
427- binding .addRequestPermissionsResultListener (this );
428- binding .addActivityResultListener (this );
429- }
430-
431- @ Override
432- public void onDetachedFromActivityForConfigChanges () {
433- onDetachedFromActivity ();
434- }
435-
436- @ Override
437- public void onReattachedToActivityForConfigChanges (@ NonNull ActivityPluginBinding binding ) {
438- onAttachedToActivity (binding );
439- }
440-
441- @ Override
442- public void onDetachedFromActivity () {
443- if (channel == null ) {
444- return ;
445- }
446- channel .setMethodCallHandler (null );
447- channel = null ;
448- activity = null ;
449- }
450- }
425+ }
0 commit comments