@rejaul/react-native-printer-kit 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -223,6 +223,8 @@ type PrintHtmlParams = {
223
223
 
224
224
  Connecting through this library keeps the printer connected even if the app is swiped away from Recents — the native side runs a foreground service that outlives the Activity/JS runtime. Every successful `connectPrinter()` call also remembers the device, so the next time the app is opened (even after being fully killed) it reconnects automatically without the user having to pick the printer again.
225
225
 
226
+ `connectPrinter()` falls back to a direct RFCOMM channel if the standard SDP-based socket fails (common on printers with a broken SDP record), and `isConnectedPrinter()` reflects a real physical disconnect immediately (via Android's ACL-disconnect broadcast) instead of a stale flag that stays `true` after the printer silently drops the link.
227
+
226
228
  ## Printing Bangla / other non-Latin text
227
229
 
228
230
  ESC/POS printer firmware fonts only cover ASCII, so `printText()` can't render Bangla. For anything with non-Latin text, render it as an image instead — build a bitmap yourself and use `printImage()`/`printImageBase64()`, or write it as HTML/CSS and call `printHtml()`, which renders it with a real font via `WebView` and prints the result as a dithered raster image.
@@ -61,5 +61,5 @@ repositories {
61
61
 
62
62
  dependencies {
63
63
  implementation "com.facebook.react:react-android"
64
- implementation("com.github.DeveloperRejaul:android-printer-kit:v0.0.10")
64
+ implementation("com.github.DeveloperRejaul:android-printer-kit:v0.0.13")
65
65
  }
@@ -111,6 +111,10 @@ class ReactNativePrinterKitModule(reactContext: ReactApplicationContext) :
111
111
  return map
112
112
  }
113
113
 
114
+ override fun isBluetoothEnabled(): Boolean {
115
+ return standalonePrinter.isBluetoothEnabled()
116
+ }
117
+
114
118
  override fun hasBluetoothPermission(): Boolean {
115
119
  return BluetoothPermissions.isGranted(reactApplicationContext)
116
120
  }
@@ -128,7 +132,15 @@ class ReactNativePrinterKitModule(reactContext: ReactApplicationContext) :
128
132
  promise.resolve(true)
129
133
  return
130
134
  }
131
- val activity = currentActivity as? PermissionAwareActivity
135
+ // Go through reactApplicationContext.currentActivity rather than the bare
136
+ // currentActivity getter inherited from ReactContextBaseJavaModule: that base
137
+ // class moved from Java to Kotlin in RN 0.87, and Kotlin only synthesizes a
138
+ // property from a Java getter - once the declaring class itself is Kotlin,
139
+ // `currentActivity` stops resolving and you must call getCurrentActivity().
140
+ // ReactContext (the type reactApplicationContext returns) is still Java on
141
+ // every RN version this library supports, so this form works unconditionally
142
+ // on both old and new React Native without a version check.
143
+ val activity = reactApplicationContext.currentActivity as? PermissionAwareActivity
132
144
  if (activity == null) {
133
145
  promise.reject("NO_ACTIVITY", "No current activity to request permission from")
134
146
  return
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","Platform","getModule","OS","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativePrinterKit.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAoBC,QAAQ,QAAQ,cAAc;AAqK9E,SAASC,SAASA,CAAA,EAAS;EACzB,OAAOD,QAAQ,CAACE,EAAE,KAAK,SAAS,GAC5BH,mBAAmB,CAACI,YAAY,CAAO,uBAAuB,CAAC,GAC9D,CAAC,CAAU;AAClB;AAEA,eAAeF,SAAS,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","Platform","getModule","OS","getEnforcing"],"sourceRoot":"../../src","sources":["NativeReactNativePrinterKit.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAoBC,QAAQ,QAAQ,cAAc;AA6K9E,SAASC,SAASA,CAAA,EAAS;EACzB,OAAOD,QAAQ,CAACE,EAAE,KAAK,SAAS,GAC5BH,mBAAmB,CAACI,YAAY,CAAO,uBAAuB,CAAC,GAC9D,CAAC,CAAU;AAClB;AAEA,eAAeF,SAAS,CAAC,CAAC","ignoreList":[]}
@@ -2,6 +2,14 @@
2
2
 
3
3
  import ReactNativePrinterKit from "./NativeReactNativePrinterKit.js";
4
4
 
5
+ /**
6
+ * Whether the device's Bluetooth adapter itself is turned on. Needs no runtime
7
+ * permission - check this before `hasBluetoothPermission`/`requestBluetoothPermission`.
8
+ */
9
+ export function isBluetoothEnabled() {
10
+ return ReactNativePrinterKit.isBluetoothEnabled();
11
+ }
12
+
5
13
  /**
6
14
  * Whether Bluetooth permission is already granted (always true below Android 12).
7
15
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ReactNativePrinterKit","hasBluetoothPermission","requestBluetoothPermission","getBondedBluetoothPrinters","connectPrinter","params","disconnectPrinter","isConnectedPrinter","getConnectedPrinter","printText","printImage","printImageBase64","pdfToImage","printPdf","htmlToPdf","printHtml"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,qBAAqB,MAWrB,kCAA+B;;AAEtC;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAY;EAChD,OAAOD,qBAAqB,CAACC,sBAAsB,CAAC,CAAC;AACvD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAA,EAAqB;EAC7D,OAAOF,qBAAqB,CAACE,0BAA0B,CAAC,CAAC;AAC3D;;AAEA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAA,EAA6B;EACrE,OAAOH,qBAAqB,CAACG,0BAA0B,CAAC,CAAC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,MAA4B,EAAoB;EAC7E,OAAOL,qBAAqB,CAACI,cAAc,CAACC,MAAM,CAAC;AACrD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAkB;EACjD,OAAON,qBAAqB,CAACM,iBAAiB,CAAC,CAAC;AAClD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,OAAOP,qBAAqB,CAACO,kBAAkB,CAAC,CAAC;AACnD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAA2C;EAC5E,OAAOR,qBAAqB,CAACQ,mBAAmB,CAAC,CAAC;AACpD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAACJ,MAAuB,EAAiB;EAChE,OAAOL,qBAAqB,CAACS,SAAS,CAACJ,MAAM,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,UAAUA,CAACL,MAAwB,EAAiB;EAClE,OAAOL,qBAAqB,CAACU,UAAU,CAACL,MAAM,CAAC;AACjD;;AAEA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAACN,MAA8B,EAAiB;EAC9E,OAAOL,qBAAqB,CAACW,gBAAgB,CAACN,MAAM,CAAC;AACvD;;AAEA;AACA;AACA;AACA,OAAO,SAASO,UAAUA,CAACP,MAAwB,EAAmB;EACpE,OAAOL,qBAAqB,CAACY,UAAU,CAACP,MAAM,CAAC;AACjD;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,QAAQA,CAACR,MAAsB,EAAiB;EAC9D,OAAOL,qBAAqB,CAACa,QAAQ,CAACR,MAAM,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASS,SAASA,CAACT,MAAuB,EAA0B;EACzE,OAAOL,qBAAqB,CAACc,SAAS,CAACT,MAAM,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASU,SAASA,CAACV,MAAuB,EAAoB;EACnE,OAAOL,qBAAqB,CAACe,SAAS,CAACV,MAAM,CAAC;AAChD;;AAEA;;AAcA;AACA,eAAeL,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["ReactNativePrinterKit","isBluetoothEnabled","hasBluetoothPermission","requestBluetoothPermission","getBondedBluetoothPrinters","connectPrinter","params","disconnectPrinter","isConnectedPrinter","getConnectedPrinter","printText","printImage","printImageBase64","pdfToImage","printPdf","htmlToPdf","printHtml"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,qBAAqB,MAWrB,kCAA+B;;AAEtC;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAY;EAC5C,OAAOD,qBAAqB,CAACC,kBAAkB,CAAC,CAAC;AACnD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAY;EAChD,OAAOF,qBAAqB,CAACE,sBAAsB,CAAC,CAAC;AACvD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAA,EAAqB;EAC7D,OAAOH,qBAAqB,CAACG,0BAA0B,CAAC,CAAC;AAC3D;;AAEA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAAA,EAA6B;EACrE,OAAOJ,qBAAqB,CAACI,0BAA0B,CAAC,CAAC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,MAA4B,EAAoB;EAC7E,OAAON,qBAAqB,CAACK,cAAc,CAACC,MAAM,CAAC;AACrD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAkB;EACjD,OAAOP,qBAAqB,CAACO,iBAAiB,CAAC,CAAC;AAClD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,OAAOR,qBAAqB,CAACQ,kBAAkB,CAAC,CAAC;AACnD;;AAEA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAA2C;EAC5E,OAAOT,qBAAqB,CAACS,mBAAmB,CAAC,CAAC;AACpD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAACJ,MAAuB,EAAiB;EAChE,OAAON,qBAAqB,CAACU,SAAS,CAACJ,MAAM,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,UAAUA,CAACL,MAAwB,EAAiB;EAClE,OAAON,qBAAqB,CAACW,UAAU,CAACL,MAAM,CAAC;AACjD;;AAEA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAACN,MAA8B,EAAiB;EAC9E,OAAON,qBAAqB,CAACY,gBAAgB,CAACN,MAAM,CAAC;AACvD;;AAEA;AACA;AACA;AACA,OAAO,SAASO,UAAUA,CAACP,MAAwB,EAAmB;EACpE,OAAON,qBAAqB,CAACa,UAAU,CAACP,MAAM,CAAC;AACjD;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,QAAQA,CAACR,MAAsB,EAAiB;EAC9D,OAAON,qBAAqB,CAACc,QAAQ,CAACR,MAAM,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASS,SAASA,CAACT,MAAuB,EAA0B;EACzE,OAAON,qBAAqB,CAACe,SAAS,CAACT,MAAM,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASU,SAASA,CAACV,MAAuB,EAAoB;EACnE,OAAON,qBAAqB,CAACgB,SAAS,CAACV,MAAM,CAAC;AAChD;;AAEA;;AAcA;AACA,eAAeN,qBAAqB","ignoreList":[]}
@@ -63,6 +63,13 @@ export type PrintHtmlParams = {
63
63
  bandDelayMs?: number;
64
64
  };
65
65
  export interface Spec extends TurboModule {
66
+ /**
67
+ * Whether the device's Bluetooth adapter itself is turned on. Needs no runtime
68
+ * permission - check this before `hasBluetoothPermission`/`requestBluetoothPermission`
69
+ * so a disabled adapter can be reported as "turn on Bluetooth" rather than
70
+ * "grant permission".
71
+ */
72
+ isBluetoothEnabled(): boolean;
66
73
  /**
67
74
  * Whether Bluetooth permission is already granted (always true below Android 12).
68
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"NativeReactNativePrinterKit.d.ts","sourceRoot":"","sources":["../../../src/NativeReactNativePrinterKit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeReactNativePrinterKit.d.ts","sourceRoot":"","sources":["../../../src/NativeReactNativePrinterKit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import ReactNativePrinterKit, { type BluetoothPrinterDevice, type ConnectPrinterParams, type HtmlToPdfParams, type PdfToImageParams, type PrinterImageType, type PrintHtmlParams, type PrintImageBase64Params, type PrintImageParams, type PrintPdfParams, type PrintTextParams } from './NativeReactNativePrinterKit.js';
2
+ /**
3
+ * Whether the device's Bluetooth adapter itself is turned on. Needs no runtime
4
+ * permission - check this before `hasBluetoothPermission`/`requestBluetoothPermission`.
5
+ */
6
+ export declare function isBluetoothEnabled(): boolean;
2
7
  /**
3
8
  * Whether Bluetooth permission is already granted (always true below Android 12).
4
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,EAAE,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kCAA+B,CAAC;AAEvC;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,EAAE,CAErE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAE5E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnE;AAGD,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,CAAC;AAGF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,EAAE,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kCAA+B,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,EAAE,CAErE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAE5E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnE;AAGD,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,CAAC;AAGF,eAAe,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rejaul/react-native-printer-kit",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Direct Bluetooth POS/thermal (ESC/POS) printer integration for React Native on Android — print raw text, images, PDFs, and full HTML/CSS content including Bangla and other non-Latin scripts.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -74,6 +74,14 @@ export type PrintHtmlParams = {
74
74
  };
75
75
 
76
76
  export interface Spec extends TurboModule {
77
+ /**
78
+ * Whether the device's Bluetooth adapter itself is turned on. Needs no runtime
79
+ * permission - check this before `hasBluetoothPermission`/`requestBluetoothPermission`
80
+ * so a disabled adapter can be reported as "turn on Bluetooth" rather than
81
+ * "grant permission".
82
+ */
83
+ isBluetoothEnabled(): boolean;
84
+
77
85
  /**
78
86
  * Whether Bluetooth permission is already granted (always true below Android 12).
79
87
  */
package/src/index.tsx CHANGED
@@ -11,6 +11,14 @@ import ReactNativePrinterKit, {
11
11
  type PrintTextParams,
12
12
  } from './NativeReactNativePrinterKit';
13
13
 
14
+ /**
15
+ * Whether the device's Bluetooth adapter itself is turned on. Needs no runtime
16
+ * permission - check this before `hasBluetoothPermission`/`requestBluetoothPermission`.
17
+ */
18
+ export function isBluetoothEnabled(): boolean {
19
+ return ReactNativePrinterKit.isBluetoothEnabled();
20
+ }
21
+
14
22
  /**
15
23
  * Whether Bluetooth permission is already granted (always true below Android 12).
16
24
  */