Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluezone: react-native-bluetooth-scan version 3.0.4 #26

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
458 changes: 52 additions & 406 deletions .gitignore

Large diffs are not rendered by default.

18 changes: 13 additions & 5 deletions lib/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,26 @@ android {
compileSdkVersion safeExtGet('compileSdkVersion', 28)

defaultConfig {
minSdkVersion safeExtGet('minSdkVersion', 21)
minSdkVersion safeExtGet('minSdkVersion', 23)
targetSdkVersion safeExtGet('targetSdkVersion', 27)
}
}

dependencies {
compileOnly('com.facebook.react:react-native:+') {
exclude group: 'com.android.support'
}
implementation "androidx.appcompat:appcompat:1.0.0"
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation('com.facebook.react:react-native:+')
implementation 'com.android.support:multidex:1.0.1'
implementation 'com.jakewharton.timber:timber:4.5.1'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.google.code.gson:gson:2.7'
// Firebase analytics.
implementation 'com.google.firebase:firebase-analytics:17.5.0'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.1.0'
implementation 'androidx.navigation:navigation-ui:2.1.0'

// iBeacon
implementation 'org.altbeacon:android-beacon-library:2+'
}
24 changes: 11 additions & 13 deletions lib/android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.scan" >
package="com.scan">

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
57 changes: 5 additions & 52 deletions lib/android/src/main/java/com/scan/AppConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ public static void setConfigs(
long timeIntervalEnableBluetooth,
int batteryLevelEnableBluetooth,
long intervalRequestPermisson,
int maxNumberSubKey
int maxNumberSubKey,
long timeAutoEnableBluetooth
) {
AppPreferenceManager preferenceManager = AppPreferenceManager.getInstance(context);

Expand Down Expand Up @@ -81,57 +82,9 @@ public static void setConfigs(
if(maxNumberSubKey > 0) {
BluezoneIdGenerator.getInstance(context).setMaxNumberSubKey(maxNumberSubKey);
}
}

public static void setNotifyRequestBluContent(
Context context,
String itemRepeat,
String bigTextVi,
String bigTextEn,
String subTextVi,
String subTextEn,
String titleVi,
String titleEn,
String messageVi,
String messageEn
) {
AppPreferenceManager preferenceManager = AppPreferenceManager.getInstance(context);
preferenceManager.setNotifyRequestBlu(
bigTextVi,
bigTextEn,
subTextVi,
subTextEn,
titleVi,
titleEn,
messageVi,
messageEn,
itemRepeat
);
}

public static void setNotifyRequestLocationContent(
Context context,
String itemRepeat,
String bigTextVi,
String bigTextEn,
String subTextVi,
String subTextEn,
String titleVi,
String titleEn,
String messageVi,
String messageEn
) {
AppPreferenceManager preferenceManager = AppPreferenceManager.getInstance(context);
preferenceManager.setNotifyRequestLocation(
bigTextVi,
bigTextEn,
subTextVi,
subTextEn,
titleVi,
titleEn,
messageVi,
messageEn,
itemRepeat
);
if(timeAutoEnableBluetooth > -1) {
preferenceManager.setTimeAutoEnableBluetooth(timeAutoEnableBluetooth);
}
}
}
37 changes: 14 additions & 23 deletions lib/android/src/main/java/com/scan/AppConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public static class Config {
public static final String CONFIG_FILE_VALUE_OK = "1";

// Config log file
public static final boolean IS_CONFIG_LOG_FILE = false;
public static final boolean IS_CONFIG_LOG_FILE = true;

// Config log battery
public static final boolean IS_CONFIG_LOG_BATTERY = false;
Expand All @@ -40,7 +40,8 @@ public static class Config {
public static final long DEFAULT_SCAN_BLE_INTERVAL = 260 * 1000;
public static final long DEFAULT_SCAN_DEVICES_DURATION = 40 * 1000;
public static final long DEFAULT_SCAN_DEVICES_INTERVAL = 260 * 1000;
public static final long DEFAULT_FULL_DURATION = (2 * 60 + 30) * 1000;
public static final long DEFAULT_FULL_DURATION = 60 * 1000; //(2 * 60 + 30) * 1000;
public static final long DEFAULT_FULL_REPORT_DELAY_DURATION = 25 * 1000;
public static final long DEFAULT_FULL_INTERVAL = 5 * 1000;
public static final long DEFAULT_RESCAN_INTERVAL = 5 * 1000;

Expand All @@ -52,8 +53,6 @@ public static class Config {

// Time insert
public static final long TIME_DELAY_INSERT = 5 * 1000;
// Time backup
public static final long BACKUP_INTERVAL = 1 * 60 * 60 * 1000;

// Timmer check permisson to create notification
public static final long DEFAULT_INTERVAL_CHECK_PERMISSON = 2 * 60 * 1000;
Expand All @@ -68,6 +67,10 @@ public static class Config {
public static long DATABASE_MAX_ROW = 100000;
public static long DATABASE_MAX_DAY = 100000;

// CongTM: time default send analytics
public static final long DEFAULT_SEND_ANALYTICS = 60 * 60 * 1000;

public static final long TIME_AUTOMATIC_ENABLE_BLUETOOTH = 60 * 60 * 1000;
}

// UUID Cần phát và bắt
Expand All @@ -77,38 +80,26 @@ public static class Config {
public static final String BLE_UUID_ANDROID = "0000" + BLUEZONE_UUID + "-0000-1000-8000-00805F9B34FB";
public static final String BLE_UUID_CHARECTIC = "0000" + BLUEZONE_UUID + "-73F5-4BC4-A12F-17D1AD07A689";
public static final int DEFAUT_MANUFACTOR_IOS = 0x004c;
public static final byte[] DEFAUT_MANUFACTOR_BYTE_IOS_X = new byte[] {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 0, 0, 0, 0, 0};
public static final byte[] DEFAUT_MANUFACTOR_BYTE_IOS = new byte[] {1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
public static final byte[] BLUEZONE_BYTE_NONE = new byte[] {0};

// Notification
public static final String NOTIFICATION_CHANNEL_ID = "BluezoneChannel";
public static final String NOTIFICATION_CHANNEL_NAME = "Bluezone channel";
public static final String NOTIFICATION_CHANNEL_ID = "bluezone-service-channel";
public static final String NOTIFICATION_CHANNEL_NAME = "Bluezone Service Channel";
public static final int NOTIFICATION_CHANNEL_ID_CODE = 42020;
public static final int NOTIFICATION_SERVICE_BLUE_ZONE_ID = 2020;
public static final int NOTIFICATION_SCAN_ID = 954835;
public static final int NOTIFICATION_ENABLE_BLUETOOTH_ID = 954836;

// Alarm
public static final int ALARM_AUTOMATIC_ENABLE_BLUETOOTH = 20;

// File
public static final String PATH_APP = "/Bluezone/";
public static final String LOG_FILE_NAME = "log.txt";
public static final String LOG_FILE_NAME_BATTERY = "log_battery.txt";

// UerID length
public static final int USERID_LENGTH = 6;

// PlatfromName
public static final String PLATFORM_ANDROID = "Android";
public static final String PLATFORM_IOS = "iOS";

// Backup
public static class Backup {
public static final String ROOT_FOLDER = "backup";
public static final String DATABASE_NAME = "app_db.db"; // File name DB trong điện thoại
public static final String FILE_NAME_DB = ".app_backup.db"; // File name DB ngoài thẻ nhớ
public static final String FILE_NAME_USER_ID = ".userid.txt"; // File name backup UserID
public static final String FILE_NAME_DATA = "data_trace.txt"; // Data trace put server
public static final String KEY_USER_ID = "user_id"; // Key backup UserID
public static final int DATA_USER_ID_COUNT = 2;
public static final int DATA_USER_ID_INDEX_KEY = 0;
public static final int DATA_USER_ID_INDEX_VALUE = 1;
}
}
21 changes: 21 additions & 0 deletions lib/android/src/main/java/com/scan/AppScheduler.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,27 @@ public static void schedule(Context context, Intent intentAlarm, int requestCode
}
}

/**
* Scheduler
* @param context
* @param intentAlarm
* @param requestCode
* @param intervalMillis
*/
public static void scheduleAlarm(Context context, Intent intentAlarm, int requestCode, long intervalMillis) {

// Pending
PendingIntent pendingIntent = PendingIntent.getService(context, requestCode, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);

// Tao Alarm
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

// Time
long time = System.currentTimeMillis() + intervalMillis;
final AlarmManager.AlarmClockInfo alarmClockInfo = new AlarmManager.AlarmClockInfo(time, pendingIntent);
alarmManager.setAlarmClock(alarmClockInfo, pendingIntent);
}

/**
* Dat lich vong lap, min cua moi vong lap la 60s
* @param context
Expand Down
Loading