Browse Source

convierte un arreglo de bytes a bitmap
-parametros no necesarios

israel chavez 6 years ago
parent
commit
1b1d0bb023
3 changed files with 52 additions and 86 deletions
  1. 44 54
      .idea/workspace.xml
  2. 5 26
      android/src/main/java/edesarrollos/printer/PrinterPlugin.java
  3. 3 6
      lib/printer.dart

+ 44 - 54
.idea/workspace.xml

@@ -4,7 +4,11 @@
     <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="1995f4dc-60d3-4cb6-b6b1-07187cdf9fce" name="Default Changelist" comment="" />
+    <list default="true" id="1995f4dc-60d3-4cb6-b6b1-07187cdf9fce" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/printer.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/printer.dart" afterDir="false" />
+    </list>
     <ignored path="$PROJECT_DIR$/.dart_tool/" />
     <ignored path="$PROJECT_DIR$/.idea/" />
     <ignored path="$PROJECT_DIR$/.pub/" />
@@ -22,36 +26,36 @@
       <usages-collector id="statistics.lifecycle.project">
         <counts>
           <entry key="project.closed" value="1" />
-          <entry key="project.open.time.5" value="1" />
-          <entry key="project.opened" value="1" />
+          <entry key="project.open.time.5" value="2" />
+          <entry key="project.opened" value="2" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.open">
         <counts>
-          <entry key="dart" value="16" />
+          <entry key="dart" value="19" />
           <entry key="gradle" value="2" />
-          <entry key="java" value="8" />
+          <entry key="java" value="9" />
           <entry key="xml" value="1" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.open">
         <counts>
-          <entry key="Dart" value="16" />
+          <entry key="Dart" value="19" />
           <entry key="Groovy" value="2" />
-          <entry key="JAVA" value="8" />
+          <entry key="JAVA" value="9" />
           <entry key="XML" value="1" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
-          <entry key="dart" value="1184" />
+          <entry key="dart" value="1226" />
           <entry key="gradle" value="3" />
           <entry key="java" value="9" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
-          <entry key="Dart" value="1184" />
+          <entry key="Dart" value="1226" />
           <entry key="Groovy" value="3" />
           <entry key="JAVA" value="9" />
         </counts>
@@ -63,8 +67,20 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/lib/printer.dart">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="240">
-              <caret line="36" column="79" selection-start-line="36" selection-start-column="79" selection-end-line="36" selection-end-column="79" />
+            <state relative-caret-position="-254">
+              <caret line="13" column="62" selection-start-line="13" selection-start-column="62" selection-end-line="13" selection-end-column="62" />
+              <folding>
+                <element signature="e#0#20#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="373">
+              <caret line="55" column="10" lean-forward="true" selection-start-line="55" selection-start-column="10" selection-end-line="55" selection-end-column="10" />
               <folding>
                 <element signature="e#0#20#0" expanded="true" />
               </folding>
@@ -82,8 +98,8 @@
       <list>
         <option value="$PROJECT_DIR$/android/build.gradle" />
         <option value="$PROJECT_DIR$/example/lib/main.dart" />
-        <option value="$PROJECT_DIR$/lib/printer.dart" />
         <option value="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" />
+        <option value="$PROJECT_DIR$/lib/printer.dart" />
       </list>
     </option>
   </component>
@@ -105,6 +121,11 @@
               <item name="printer" type="b2602c69:ProjectViewProjectNode" />
               <item name="printer" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="printer" type="b2602c69:ProjectViewProjectNode" />
+              <item name="printer" type="462c0819:PsiDirectoryNode" />
+              <item name="lib" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
@@ -122,44 +143,13 @@
         </subPane>
       </pane>
       <pane id="PackagesPane" />
-      <pane id="AndroidView">
-        <subPane>
-          <expand>
-            <path>
-              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
-              <item name="printer" type="e9137016:NonAndroidModuleNode" />
-            </path>
-            <path>
-              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
-              <item name="printer" type="e9137016:NonAndroidModuleNode" />
-              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
-            </path>
-            <path>
-              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
-              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
-            </path>
-            <path>
-              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
-              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
-              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
-            </path>
-            <path>
-              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
-              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
-              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
-              <item name="printer" type="462c0819:PsiDirectoryNode" />
-            </path>
-          </expand>
-          <select />
-        </subPane>
-      </pane>
       <pane id="AndroidView" />
     </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="dart.analysis.tool.window.force.activate" value="false" />
     <property name="io.flutter.reload.alreadyRun" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../eServicio" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
     <property name="show.migrate.to.gradle.popup" value="false" />
   </component>
   <component name="RecentsManager">
@@ -274,30 +264,30 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
+    <entry file="file://$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="373">
-          <caret line="55" column="10" lean-forward="true" selection-start-line="55" selection-start-column="10" selection-end-line="55" selection-end-column="10" />
+        <state relative-caret-position="114">
+          <caret line="76" column="11" lean-forward="true" selection-start-line="76" selection-start-column="11" selection-end-line="76" selection-end-column="11" />
           <folding>
-            <element signature="e#0#20#0" expanded="true" />
+            <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java">
+    <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="266">
-          <caret line="27" column="13" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" />
+        <state relative-caret-position="373">
+          <caret line="55" column="10" lean-forward="true" selection-start-line="55" selection-start-column="10" selection-end-line="55" selection-end-column="10" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#0#20#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/printer.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="240">
-          <caret line="36" column="79" selection-start-line="36" selection-start-column="79" selection-end-line="36" selection-end-column="79" />
+        <state relative-caret-position="-254">
+          <caret line="13" column="62" selection-start-line="13" selection-start-column="62" selection-end-line="13" selection-end-column="62" />
           <folding>
             <element signature="e#0#20#0" expanded="true" />
           </folding>

+ 5 - 26
android/src/main/java/edesarrollos/printer/PrinterPlugin.java

@@ -2,6 +2,7 @@ package edesarrollos.printer;
 
 import android.app.Activity;
 import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.os.Handler;
 import android.os.Looper;
 
@@ -109,44 +110,22 @@ public class PrinterPlugin implements MethodCallHandler {
         result.success(true);
         break;
       case "printBitmap":
-        Integer h = call.argument("height");
-        if (h == null || h == 0) {
-          result.success(false);
-          break;
-        }
-        Integer w = call.argument("width");
-        if (w == null || w == 0) {
-          result.success(false);
-          break;
-        }
-        ArrayList<Integer> mapa = call.argument("map");
+        byte[] mapa = call.argument("map");
         if (mapa == null) {
           result.success(false);
           break;
         }
-        Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
-        bitmap.copyPixelsFromBuffer(IntBuffer.wrap(convertIntegers(mapa)));
+        Bitmap bitmap = BitmapFactory.decodeByteArray(mapa, 0, mapa.length);
         BlueService.printImage(bitmap);
         result.success(true);
         break;
       case "printBitmap2":
-        Integer h2 = call.argument("height");
-        if (h2 == null || h2 == 0) {
-          result.success(false);
-          break;
-        }
-        Integer w2 = call.argument("width");
-        if (w2 == null || w2 == 0) {
-          result.success(false);
-          break;
-        }
-        ArrayList<Integer> mapa2 = call.argument("map");
+        byte[] mapa2 = call.argument("map");
         if (mapa2 == null) {
           result.success(false);
           break;
         }
-        Bitmap bitmap2 = Bitmap.createBitmap(w2, h2, Bitmap.Config.ARGB_8888);
-        bitmap2.copyPixelsFromBuffer(IntBuffer.wrap(convertIntegers(mapa2)));
+        Bitmap bitmap2 = BitmapFactory.decodeByteArray(mapa2, 0, mapa2.length);
         BlueService.printImage2(bitmap2);
         result.success(true);
         break;

+ 3 - 6
lib/printer.dart

@@ -1,4 +1,5 @@
 import 'dart:async';
+import 'dart:typed_data';
 import 'package:flutter/services.dart';
 
 class Printer {
@@ -34,19 +35,15 @@ class Printer {
     return result;
   }
 
-  Future<dynamic> imprimirImagen(int ancho, int alto, List<int> imagen) async {
+  Future<dynamic> imprimirImagen(Uint8List imagen) async {
     var result = await _channel.invokeMethod('printBitmap', {
-      'width': ancho,
-      'height': alto,
       'map': imagen,
     });
     return result;
   }
 
-  Future<dynamic> imprimirImagen2(int ancho, int alto, List<int> imagen) async {
+  Future<dynamic> imprimirImagen2(Uint8List imagen) async {
     var result = await _channel.invokeMethod('printBitmap2', {
-      'width': ancho,
-      'height': alto,
       'map': imagen,
     });
     return result;