David PHAM-VAN

Android lint

@@ -7,7 +7,6 @@ import android.print.PrintAttributes; @@ -7,7 +7,6 @@ import android.print.PrintAttributes;
7 import androidx.annotation.NonNull; 7 import androidx.annotation.NonNull;
8 import androidx.annotation.RequiresApi; 8 import androidx.annotation.RequiresApi;
9 9
10 -import java.lang.ref.WeakReference;  
11 import java.util.ArrayList; 10 import java.util.ArrayList;
12 import java.util.HashMap; 11 import java.util.HashMap;
13 12
@@ -35,6 +34,8 @@ public class PrintingHandler implements MethodChannel.MethodCallHandler { @@ -35,6 +34,8 @@ public class PrintingHandler implements MethodChannel.MethodCallHandler {
35 final PrintingJob printJob = 34 final PrintingJob printJob =
36 new PrintingJob(context, this, (int) call.argument("job")); 35 new PrintingJob(context, this, (int) call.argument("job"));
37 assert name != null; 36 assert name != null;
  37 + assert width != null;
  38 + assert height != null;
38 printJob.printPdf(name, width, height); 39 printJob.printPdf(name, width, height);
39 40
40 result.success(1); 41 result.success(1);
@@ -138,7 +139,7 @@ public class PrintingHandler implements MethodChannel.MethodCallHandler { @@ -138,7 +139,7 @@ public class PrintingHandler implements MethodChannel.MethodCallHandler {
138 } 139 }
139 140
140 @Override 141 @Override
141 - public void error(String errorCode, String errorMessage, Object errorDetails) { 142 + public void error(@NonNull String errorCode, String errorMessage, Object errorDetails) {
142 printJob.cancelJob(errorMessage); 143 printJob.cancelJob(errorMessage);
143 } 144 }
144 145
@@ -137,17 +137,12 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -137,17 +137,12 @@ public class PrintingJob extends PrintDocumentAdapter {
137 137
138 @Override 138 @Override
139 public void onFinish() { 139 public void onFinish() {
140 - Thread thread = new Thread(new Runnable() {  
141 - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)  
142 - @Override  
143 - public void run() { 140 + Thread thread = new Thread(() -> {
144 try { 141 try {
145 final boolean[] wait = {true}; 142 final boolean[] wait = {true};
146 int count = 5 * 60 * 10; // That's 10 minutes. 143 int count = 5 * 60 * 10; // That's 10 minutes.
147 while (wait[0]) { 144 while (wait[0]) {
148 - new Handler(Looper.getMainLooper()).post(new Runnable() {  
149 - @Override  
150 - public void run() { 145 + new Handler(Looper.getMainLooper()).post(() -> {
151 int state = printJob == null ? PrintJobInfo.STATE_FAILED 146 int state = printJob == null ? PrintJobInfo.STATE_FAILED
152 : printJob.getInfo().getState(); 147 : printJob.getInfo().getState();
153 148
@@ -158,11 +153,9 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -158,11 +153,9 @@ public class PrintingJob extends PrintDocumentAdapter {
158 printing.onCompleted(PrintingJob.this, false, null); 153 printing.onCompleted(PrintingJob.this, false, null);
159 wait[0] = false; 154 wait[0] = false;
160 } else if (state == PrintJobInfo.STATE_FAILED) { 155 } else if (state == PrintJobInfo.STATE_FAILED) {
161 - printing.onCompleted(  
162 - PrintingJob.this, false, "Unable to print"); 156 + printing.onCompleted(PrintingJob.this, false, "Unable to print");
163 wait[0] = false; 157 wait[0] = false;
164 } 158 }
165 - }  
166 }); 159 });
167 160
168 if (--count <= 0) { 161 if (--count <= 0) {
@@ -174,17 +167,14 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -174,17 +167,14 @@ public class PrintingJob extends PrintDocumentAdapter {
174 } 167 }
175 } 168 }
176 } catch (final Exception e) { 169 } catch (final Exception e) {
177 - new Handler(Looper.getMainLooper()).post(new Runnable() {  
178 - @Override  
179 - public void run() {  
180 - printing.onCompleted(PrintingJob.this,  
181 - printJob != null && printJob.isCompleted(), e.getMessage());  
182 - }  
183 - }); 170 + new Handler(Looper.getMainLooper())
  171 + .post(()
  172 + -> printing.onCompleted(PrintingJob.this,
  173 + printJob != null && printJob.isCompleted(),
  174 + e.getMessage()));
184 } 175 }
185 176
186 printJob = null; 177 printJob = null;
187 - }  
188 }); 178 });
189 179
190 thread.start(); 180 thread.start();
@@ -439,10 +429,7 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -439,10 +429,7 @@ public class PrintingJob extends PrintDocumentAdapter {
439 return; 429 return;
440 } 430 }
441 431
442 - Thread thread = new Thread(new Runnable() {  
443 - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)  
444 - @Override  
445 - public void run() { 432 + Thread thread = new Thread(() -> {
446 String error = null; 433 String error = null;
447 try { 434 try {
448 File tempDir = context.getCacheDir(); 435 File tempDir = context.getCacheDir();
@@ -472,8 +459,7 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -472,8 +459,7 @@ public class PrintingJob extends PrintDocumentAdapter {
472 459
473 Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 460 Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
474 461
475 - page.render(  
476 - bitmap, null, transform, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); 462 + page.render(bitmap, null, transform, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
477 463
478 page.close(); 464 page.close();
479 465
@@ -481,13 +467,10 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -481,13 +467,10 @@ public class PrintingJob extends PrintDocumentAdapter {
481 bitmap.copyPixelsToBuffer(buf); 467 bitmap.copyPixelsToBuffer(buf);
482 bitmap.recycle(); 468 bitmap.recycle();
483 469
484 - new Handler(Looper.getMainLooper()).post(new Runnable() {  
485 - @Override  
486 - public void run() {  
487 - printing.onPageRasterized(  
488 - PrintingJob.this, buf.array(), width, height);  
489 - }  
490 - }); 470 + new Handler(Looper.getMainLooper())
  471 + .post(()
  472 + -> printing.onPageRasterized(
  473 + PrintingJob.this, buf.array(), width, height));
491 } 474 }
492 475
493 renderer.close(); 476 renderer.close();
@@ -499,26 +482,14 @@ public class PrintingJob extends PrintDocumentAdapter { @@ -499,26 +482,14 @@ public class PrintingJob extends PrintDocumentAdapter {
499 } 482 }
500 483
501 final String finalError = error; 484 final String finalError = error;
502 - new Handler(Looper.getMainLooper()).post(new Runnable() {  
503 - @Override  
504 - public void run() {  
505 - printing.onPageRasterEnd(PrintingJob.this, finalError);  
506 - }  
507 - });  
508 - } 485 + new Handler(Looper.getMainLooper())
  486 + .post(() -> printing.onPageRasterEnd(PrintingJob.this, finalError));
509 }); 487 });
510 488
511 - thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {  
512 - @Override  
513 - public void uncaughtException(Thread t, Throwable e) { 489 + thread.setUncaughtExceptionHandler((t, e) -> {
514 final String finalError = e.getMessage(); 490 final String finalError = e.getMessage();
515 - new Handler(Looper.getMainLooper()).post(new Runnable() {  
516 - @Override  
517 - public void run() {  
518 - printing.onPageRasterEnd(PrintingJob.this, finalError);  
519 - }  
520 - });  
521 - } 491 + new Handler(Looper.getMainLooper())
  492 + .post(() -> printing.onPageRasterEnd(PrintingJob.this, finalError));
522 }); 493 });
523 494
524 thread.start(); 495 thread.start();
@@ -20,8 +20,6 @@ import android.content.Context; @@ -20,8 +20,6 @@ import android.content.Context;
20 20
21 import androidx.annotation.NonNull; 21 import androidx.annotation.NonNull;
22 22
23 -import java.lang.ref.WeakReference;  
24 -  
25 import io.flutter.embedding.engine.plugins.FlutterPlugin; 23 import io.flutter.embedding.engine.plugins.FlutterPlugin;
26 import io.flutter.embedding.engine.plugins.activity.ActivityAware; 24 import io.flutter.embedding.engine.plugins.activity.ActivityAware;
27 import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; 25 import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
@@ -59,7 +57,7 @@ public class PrintingPlugin implements FlutterPlugin, ActivityAware { @@ -59,7 +57,7 @@ public class PrintingPlugin implements FlutterPlugin, ActivityAware {
59 } 57 }
60 58
61 @Override 59 @Override
62 - public void onAttachedToActivity(ActivityPluginBinding binding) { 60 + public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
63 if (context != null) { 61 if (context != null) {
64 context = null; 62 context = null;
65 } 63 }