From 53d1b1edad91f7a4c95f4df8c8d27e1c4fc2c7f7 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 7 Apr 2024 22:26:00 +0200 Subject: [PATCH 01/13] Fix security exception when launching foreground service of type location --- app/src/main/AndroidManifest.xml | 2 ++ app/src/main/java/s4y/itag/itag/ITag.java | 23 ++++++++++++++--------- itagble/build.gradle | 1 - 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c826f8c..255dfb4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,8 @@ + + diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index 6c0d8d6..862c9e8 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -117,6 +117,7 @@ private static void subscribeDisconnections() { if (itag.alertDelay() == 0) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); + alertUser(itag); MediaPlayerUtils.getInstance().startSoundDisconnected(ITagApplication.context); sendDisconnectNotification(ITagApplication.context, itag.name()); HistoryRecord.add(ITagApplication.context, itag.id()); @@ -131,16 +132,9 @@ private static void subscribeDisconnections() { if (itag.isAlertDisconnected() && !connection.isConnected()) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); - int volume = new VolumePreference(ITagApplication.context).get(); - if (volume == VolumePreference.LOUD) { - MediaPlayerUtils.getInstance().startSoundDisconnected(ITagApplication.context); - } else if (volume == VolumePreference.VIBRATION) { - MediaPlayerUtils.getInstance().startVibrate(); - } - sendDisconnectNotification(ITagApplication.context, itag.name()); - HistoryRecord.add(ITagApplication.context, itag.id()); + alertUser(itag); } - }, itag.alertDelay() * 1000); + }, itag.alertDelay() * 1000L); } } else if (BLEConnectionState.connected.equals(connection.state())) { if (BuildConfig.DEBUG) @@ -169,6 +163,17 @@ private static void subscribeDisconnections() { } } + private static void alertUser(ITagInterface itag) { + int volume = new VolumePreference(ITagApplication.context).get(); + if (volume == VolumePreference.LOUD) { + MediaPlayerUtils.getInstance().startSoundDisconnected(ITagApplication.context); + } else if (volume == VolumePreference.VIBRATION) { + MediaPlayerUtils.getInstance().startVibrate(); + } + sendDisconnectNotification(ITagApplication.context, itag.name()); + HistoryRecord.add(ITagApplication.context, itag.id()); + } + private static int connectThreadsCount = 0; public static void connectAsync(final BLEConnectionInterface connection) { diff --git a/itagble/build.gradle b/itagble/build.gradle index ef734a7..2df7ac3 100644 --- a/itagble/build.gradle +++ b/itagble/build.gradle @@ -32,7 +32,6 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'solutions.s4y.rasat:rasat-android:1.0.3' testImplementation 'junit:junit:4.13' From 45c2032d3242e5511efd68db45177648666626f5 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Mon, 8 Apr 2024 00:28:06 +0200 Subject: [PATCH 02/13] design update --- app/src/main/AndroidManifest.xml | 10 + app/src/main/java/s4y/itag/BootReceiver.java | 2 +- app/src/main/java/s4y/itag/ITagsFragment.java | 38 +- app/src/main/java/s4y/itag/MainActivity.java | 37 +- app/src/main/java/s4y/itag/RssiView.java | 2 +- app/src/main/java/s4y/itag/itag/ITag.java | 22 +- .../main/java/s4y/itag/itag/ITagDefault.java | 8 +- .../java/s4y/itag/itag/ITagInterface.java | 4 +- .../java/s4y/itag/itag/ITagsStoreDefault.java | 6 +- .../s4y/itag/itag/ITagsStoreInterface.java | 2 +- app/src/main/res/drawable/colorwheel.xml | 45 + app/src/main/res/drawable/colorwheel2.xml | 1103 +++++++++++++++++ app/src/main/res/drawable/delete.xml | 43 + app/src/main/res/drawable/minus.xml | 8 +- app/src/main/res/drawable/settings.xml | 59 + app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/layout/itag.xml | 75 +- app/src/main/res/layout/itag_0.xml | 35 +- app/src/main/res/values/strings.xml | 2 +- 19 files changed, 1393 insertions(+), 110 deletions(-) create mode 100644 app/src/main/res/drawable/colorwheel.xml create mode 100644 app/src/main/res/drawable/colorwheel2.xml create mode 100644 app/src/main/res/drawable/delete.xml create mode 100644 app/src/main/res/drawable/settings.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 255dfb4..917f8a6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,6 +5,16 @@ android:versionCode="144" android:versionName="2.17"> + + + + + + + + + + diff --git a/app/src/main/java/s4y/itag/BootReceiver.java b/app/src/main/java/s4y/itag/BootReceiver.java index 514e38c..5e1a1f0 100644 --- a/app/src/main/java/s4y/itag/BootReceiver.java +++ b/app/src/main/java/s4y/itag/BootReceiver.java @@ -20,7 +20,7 @@ public void onReceive(@NonNull Context context, @NonNull Intent intent) { "android.intent.action.QUICKBOOT_POWERON".equals(intent.getAction()) ) { ITagsStoreInterface store = new ITagsStoreDefault(ITagApplication.context); - if (store.isDisconnectAlert() || Waytoday.tracker.isOn(context)) { + if (store.isDisconnectAlertOn() || Waytoday.tracker.isOn(context)) { ITagsService.start(context); // expected to create application and thus start waytooday } } diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 4a75af3..26211e7 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; +import android.graphics.Color; +import android.os.Build; import android.os.Bundle; import android.os.Looper; import android.util.Log; @@ -108,8 +110,8 @@ private void setupTags(@NonNull ViewGroup root) { setupButtons(rootView, itag); updateITagImage(rootView, itag); updateITagImageAnimation(rootView, itag, connection); - updateName(rootView, itag.name()); - updateAlertButton(rootView, itag.isAlertDisconnected(), connection.isConnected()); + updateName(rootView, itag); + updateAlertButton(rootView, itag.isAlertOnDisconnectEnabled(), connection.isConnected()); } updateRSSI(rootView, connection.rssi()); updateState(rootView, id, connection.state()); @@ -207,10 +209,13 @@ private void updateRSSI(@NonNull ViewGroup rootView, int rssi) { Activity activity = getActivity(); if (activity == null) return; // RssiView rssiView = rootView.findViewById(R.id.rssi); - if (rssiView == null) { - return; + TextView rssiTextView = rootView.findViewById(R.id.text_rssi); + if (rssiView != null) { + rssiView.setRssi(rssi); + } + if (rssiTextView != null) { + rssiTextView.setText(String.format(getString(R.string.rssi), rssi)); } - rssiView.setRssi(rssi); } private void updateRSSI(@NonNull String id, int rssi) { @@ -225,21 +230,25 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu Activity activity = getActivity(); if (activity == null) return; // int statusDrawableId; + int statusDrawableTint = Color.BLACK; int statusTextId; if (ble.state() == BLEState.OK) { switch (state) { case connected: statusDrawableId = R.drawable.bt; + statusDrawableTint = Color.GREEN; statusTextId = R.string.bt; break; case connecting: case disconnecting: ITagInterface itag = ITag.store.byId(id); - if (itag != null && itag.isAlertDisconnected()) { + if (itag != null && itag.isAlertOnDisconnectEnabled()) { statusDrawableId = R.drawable.bt_connecting; + statusDrawableTint = Color.RED; statusTextId = R.string.bt_lost; } else { statusDrawableId = R.drawable.bt_setup; + statusDrawableTint = Color.parseColor("#FFA500"); if (state == BLEConnectionState.connecting) statusTextId = R.string.bt_connecting; else @@ -254,15 +263,20 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu case disconnected: default: statusDrawableId = R.drawable.bt_disabled; + statusDrawableTint = Color.LTGRAY; statusTextId = R.string.bt_disabled; } } else { statusDrawableId = R.drawable.bt_disabled; + statusDrawableTint = Color.LTGRAY; statusTextId = R.string.bt_disabled; } final ImageView imgStatus = rootView.findViewById(R.id.bt_status); imgStatus.setImageResource(statusDrawableId); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + imgStatus.getDrawable().setTint(statusDrawableTint); + } final TextView textStatus = rootView.findViewById(R.id.text_status); textStatus.setText(statusTextId); } @@ -275,11 +289,13 @@ private void updateState(@NonNull String id, @NonNull BLEConnectionState state) updateState(view, id, state); } - private void updateName(@NonNull ViewGroup rootView, String name) { + private void updateName(@NonNull ViewGroup rootView, ITagInterface itag) { Activity activity = getActivity(); if (activity == null) return; // final TextView textName = rootView.findViewById(R.id.text_name); - textName.setText(name); + final TextView textId = rootView.findViewById(R.id.text_id); + textName.setText(itag.name()); + textId.setText(itag.id()); } private void updateAlertButton(@NonNull ViewGroup rootView, boolean isAlertDisconnected, boolean isConnected) { @@ -314,7 +330,7 @@ private void updateAlertButton(@NonNull String id) { } BLEConnectionInterface connection = ble.connectionById(id); boolean isConnected = connection.isConnected(); - boolean isAlertDisconnected = itag.isAlertDisconnected(); + boolean isAlertDisconnected = itag.isAlertOnDisconnectEnabled(); if (BuildConfig.DEBUG) { Log.d(LT, "id = " + id + " updateAlertButton2 isAlertDisconnected=" + isAlertDisconnected + " isConnected=" + isConnected); } @@ -333,13 +349,13 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation isFindMe:" + connection.isFindMe() + " isAlerting:" + connection.isAlerting() + - " isAlertDisconnected:" + itag.isAlertDisconnected() + + " isAlertDisconnected:" + itag.isAlertOnDisconnectEnabled() + " not connected:" + !connection.isConnected() ); } if (connection.isAlerting() || connection.isFindMe() || - itag.isAlertDisconnected() && !connection.isConnected()) { + itag.isAlertOnDisconnectEnabled() && !connection.isConnected()) { animShake = mITagAnimation;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); } final ImageView imageITag = rootView.findViewById(R.id.image_itag); diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 5823fc7..275b246 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -161,7 +161,7 @@ protected void onPause() { } disposableBag.dispose(); sIsShown = false; - if (ITag.store.isDisconnectAlert() || Waytoday.tracker.isUpdating) { + if (ITag.store.isDisconnectAlertOn() || Waytoday.tracker.isUpdating) { ITagsService.start(this); } else { ITagsService.stop(this); @@ -209,15 +209,14 @@ private void setupContent() { if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "setupContent isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } + setupProgressBar(); if (ITag.ble.scanner().isScanning()) { - setupProgressBar(); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.SCANNER) { fragment = new ScanFragment(); mSelectedFragment = FragmentType.SCANNER; } } else { - setupProgressBar(); if (ITag.ble.state() == BLEState.NO_ADAPTER) { fragment = new NoBLEFragment(); mSelectedFragment = FragmentType.OTHER; @@ -346,28 +345,26 @@ public void onITagClick(@NonNull View sender) { connection.resetFindeMe(); } else if (connection.isConnected()) { new Thread(() -> { - if (connection.isAlerting()) { - connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT); - } else { - connection.writeImmediateAlert(AlertVolume.HIGH_ALERT, ITag.BLE_TIMEOUT); - } + toggleAlertOnITag(connection); }).start(); } else { - if (!itag.isAlertDisconnected()) { - // there's no sense to communicate if the connection - // in the connecting state + if (!itag.isAlertOnDisconnectEnabled()) { + // there's no sense to communicate if the connection is in the connecting state ITag.connectAsync(connection, false, () -> { - if (connection.isAlerting()) { - connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT); - } else { - connection.writeImmediateAlert(AlertVolume.HIGH_ALERT, ITag.BLE_TIMEOUT); - } - + toggleAlertOnITag(connection); }); } } } + private static void toggleAlertOnITag(BLEConnectionInterface connection) { + if (connection.isAlerting()) { + connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT); + } else { + connection.writeImmediateAlert(AlertVolume.HIGH_ALERT, ITag.BLE_TIMEOUT); + } + } + public void onStartStopScan(View ignored) { if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "onStartStopScan isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); @@ -552,14 +549,14 @@ public void onChangeColor(@NonNull View sender) { popupMenu.show(); } - public void onDisconnectAlert(@NonNull View sender) { + public void changeDisconnectMode(@NonNull View sender) { ITagInterface itag = (ITagInterface) sender.getTag(); if (itag == null) { ITagApplication.handleError(new Exception("No itag")); return; } BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - if (itag.isAlertDisconnected()) { + if (itag.isAlertOnDisconnectEnabled()) { ITag.store.setAlert(itag.id(), false); new Thread(connection::disconnect).start(); } else { @@ -570,7 +567,7 @@ public void onDisconnectAlert(@NonNull View sender) { ITag.connectAsync(connection); } } - if (itag.isAlertDisconnected()) { + if (itag.isAlertOnDisconnectEnabled()) { Toast.makeText(this, R.string.mode_alertdisconnect, Toast.LENGTH_SHORT).show(); ITagApplication.faUnmuteTag(); } else { diff --git a/app/src/main/java/s4y/itag/RssiView.java b/app/src/main/java/s4y/itag/RssiView.java index a061eef..e5cbb42 100644 --- a/app/src/main/java/s4y/itag/RssiView.java +++ b/app/src/main/java/s4y/itag/RssiView.java @@ -46,7 +46,7 @@ public RssiView(Context context, AttributeSet attrs, int defStyleAttr, int defSt private View l12; static private final float BG_ON=1f; - static private final float BG_OFF=0.1f; + static private final float BG_OFF=0.3f; public void setRssi(int level) { l1.setAlpha(level > -115 ? BG_ON : BG_OFF); diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index 862c9e8..9e8c14e 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -44,18 +44,15 @@ public static void initITag(Context context) { store = new ITagsStoreDefault(ITagApplication.context); for (int i = 0; i < store.count(); i++) { ITagInterface itag = store.byPos(i); - if (itag != null) { - if (itag.isAlertDisconnected()) { - BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - connectAsync(connection); - enableReconnect(itag.id()); - } - } + if (itag == null || !itag.isAlertOnDisconnectEnabled()) continue; + BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); + connectAsync(connection); + enableReconnect(itag.id()); } subscribeDisconnections(); disposables.add(store.observable().subscribe(event -> { ITagInterface itag = event.tag; - boolean reconnect = store.remembered(itag.id()) && itag.isAlertDisconnected(); + boolean reconnect = store.remembered(itag.id()) && itag.isAlertOnDisconnectEnabled(); BLEConnectionInterface connection = ble.connectionById(itag.id()); if (reconnect) { enableReconnect(itag.id()); @@ -109,11 +106,11 @@ private static void subscribeDisconnections() { final ITagInterface itag = store.byPos(i); if (itag != null) { BLEConnectionInterface connection = ble.connectionById(itag.id()); - if (itag.isAlertDisconnected()){ + if (itag.isAlertOnDisconnectEnabled()){ disposablesConnections.add(connection.observableState().subscribe(event -> { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " state " + connection.state()); - if (itag.isAlertDisconnected() && BLEConnectionState.disconnected.equals(connection.state())) { + if (itag.isAlertOnDisconnectEnabled() && BLEConnectionState.disconnected.equals(connection.state())) { if (itag.alertDelay() == 0) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); @@ -129,7 +126,7 @@ private static void subscribeDisconnections() { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost posted, state=" + connection.state()); - if (itag.isAlertDisconnected() && !connection.isConnected()) { + if (itag.isAlertOnDisconnectEnabled() && !connection.isConnected()) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); alertUser(itag); @@ -139,6 +136,7 @@ private static void subscribeDisconnections() { } else if (BLEConnectionState.connected.equals(connection.state())) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " restored"); + // TODO: play sound if connection restore alert is enabled MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); cancelDisconnectNotification(ITagApplication.context); HistoryRecord.clear(ITagApplication.context, itag.id()); @@ -224,7 +222,7 @@ public void run() { Log.d(LT, "BLE Connect thread connect " + connection.id() + "/" + itag.name() + " " + Thread.currentThread().getName()); } connection.connect(infinity); - } while (!isInterrupted() && itag.isAlertDisconnected() && infinity && !connection.isConnected()); + } while (!isInterrupted() && itag.isAlertOnDisconnectEnabled() && infinity && !connection.isConnected()); // stop sound on connection in any case MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); if (!isInterrupted()) { diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index f887c5e..a5f59d8 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -67,13 +67,13 @@ public void setColor(@NonNull TagColor color) { } @Override - public boolean isAlertDisconnected() { + public boolean isAlertOnDisconnectEnabled() { return alert; } @Override - public void setAlertDisconnected(boolean alerting) { - this.alert = alerting; + public void setAlertOnDisconnect(boolean alert) { + this.alert = alert; } @Override @@ -89,7 +89,7 @@ public void setAlertDelay(int alertDelay) { @Override public void copyFromTag(@NonNull ITagInterface tag) { name = tag.name(); - alert = tag.isAlertDisconnected(); + alert = tag.isAlertOnDisconnectEnabled(); color = tag.color(); } diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index 162c192..505ed1d 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -11,8 +11,8 @@ public interface ITagInterface { void setName(String name); TagColor color(); void setColor(TagColor color); - boolean isAlertDisconnected(); - void setAlertDisconnected(boolean alerting); + boolean isAlertOnDisconnectEnabled(); + void setAlertOnDisconnect(boolean alert); int alertDelay(); void setAlertDelay(int alarmDelay); void copyFromTag(ITagInterface tag); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index d162ed4..861bc51 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -62,10 +62,10 @@ synchronized public int count() { } @Override - synchronized public boolean isDisconnectAlert() { + synchronized public boolean isDisconnectAlertOn() { for (String id : ids) { ITagInterface itag = tags.get(id); - if (itag != null && itag.isAlertDisconnected()) { + if (itag != null && itag.isAlertOnDisconnectEnabled()) { return true; } } @@ -178,7 +178,7 @@ synchronized public void setAlert(@NonNull String id, boolean alert) { if (tag == null) { return; } - tag.setAlertDisconnected(alert); + tag.setAlertOnDisconnect(alert); new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); channel.broadcast(new StoreOp(StoreOpType.change, tag)); } diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index e760bfd..4ecf6f4 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -7,7 +7,7 @@ public interface ITagsStoreInterface { int count(); - boolean isDisconnectAlert(); + boolean isDisconnectAlertOn(); @NonNull Observable observable(); @Nullable diff --git a/app/src/main/res/drawable/colorwheel.xml b/app/src/main/res/drawable/colorwheel.xml new file mode 100644 index 0000000..3af2062 --- /dev/null +++ b/app/src/main/res/drawable/colorwheel.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/colorwheel2.xml b/app/src/main/res/drawable/colorwheel2.xml new file mode 100644 index 0000000..f18a757 --- /dev/null +++ b/app/src/main/res/drawable/colorwheel2.xml @@ -0,0 +1,1103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/delete.xml b/app/src/main/res/drawable/delete.xml new file mode 100644 index 0000000..39a7d59 --- /dev/null +++ b/app/src/main/res/drawable/delete.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/minus.xml b/app/src/main/res/drawable/minus.xml index 230c992..98d41a2 100644 --- a/app/src/main/res/drawable/minus.xml +++ b/app/src/main/res/drawable/minus.xml @@ -5,8 +5,8 @@ - - + + @@ -14,8 +14,8 @@ - - + + diff --git a/app/src/main/res/drawable/settings.xml b/app/src/main/res/drawable/settings.xml new file mode 100644 index 0000000..87048a6 --- /dev/null +++ b/app/src/main/res/drawable/settings.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d8c89eb..e2ce022 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,7 +20,7 @@ android:id="@+id/progress" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" - android:layout_height="6dp" + android:layout_height="16dp" android:layout_gravity="center_vertical" android:indeterminate="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/itag.xml b/app/src/main/res/layout/itag.xml index d1cf4ba..f4d5ad2 100644 --- a/app/src/main/res/layout/itag.xml +++ b/app/src/main/res/layout/itag.xml @@ -14,19 +14,33 @@ android:orientation="horizontal" tools:ignore="UseCompoundDrawables"> - - + android:orientation="vertical" + android:layout_marginLeft="8dp"> + + + + @@ -63,14 +76,16 @@ + android:src="@drawable/itag_white" + android:layout_gravity="center"/> - + android:layout_marginBottom="8dp"> + + + @@ -123,7 +150,7 @@ android:layout_width="@android:dimen/app_icon_size" android:layout_height="@android:dimen/app_icon_size" android:contentDescription="@string/manage_alert" - android:onClick="onDisconnectAlert" + android:onClick="changeDisconnectMode" android:src="@drawable/keyfinder" /> + android:src="@drawable/settings" /> + android:src="@drawable/colorwheel2" /> - - - - - - - + Not connected The device seems to have a problem. Anti lost feature may fail. - It looks like your device does not have any Map location + It looks like your device does not have any Map location viewer iTag One could not get exact location because GPS disabled for this application sec From 6411be94ad371974bb0bfad43f40e1eeb3f08e1d Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Wed, 10 Apr 2024 19:41:28 +0200 Subject: [PATCH 03/13] A lot of changes, sorry --- app/src/main/assets/found.mp3 | Bin 0 -> 57964 bytes app/src/main/assets/lost.mp3 | Bin 577200 -> 63646 bytes .../main/java/s4y/itag/ITagApplication.java | 2 +- app/src/main/java/s4y/itag/ITagsFragment.java | 112 +++++++------ app/src/main/java/s4y/itag/MainActivity.java | 100 ++++++++---- .../main/java/s4y/itag/MediaPlayerUtils.java | 12 +- app/src/main/java/s4y/itag/Notifications.java | 57 ++++++- .../java/s4y/itag/SetNameDialogFragment.java | 124 +++++++++++--- app/src/main/java/s4y/itag/itag/ITag.java | 151 +++++++++++------- .../main/java/s4y/itag/itag/ITagDefault.java | 54 ++++++- .../java/s4y/itag/itag/ITagFileStore.java | 2 +- .../java/s4y/itag/itag/ITagInterface.java | 10 +- .../java/s4y/itag/itag/ITagsStoreDefault.java | 37 ++++- .../s4y/itag/itag/ITagsStoreInterface.java | 3 + .../main/java/s4y/itag/itag/TagAlertMode.java | 8 + .../java/s4y/itag/itag/TagConnectionMode.java | 6 + app/src/main/res/layout/fragment_set_name.xml | 78 +++++---- app/src/main/res/layout/itag.xml | 36 +++-- app/src/main/res/values-ar/strings.xml | 6 +- app/src/main/res/values-es/strings.xml | 6 +- app/src/main/res/values-fr/strings.xml | 6 +- app/src/main/res/values-it/strings.xml | 6 +- app/src/main/res/values-pt/strings.xml | 6 +- app/src/main/res/values-ru/strings.xml | 6 +- app/src/main/res/values/strings.xml | 33 +++- .../s4y/itag/ble/BLEConnectionDefault.java | 13 +- .../s4y/itag/ble/BLEConnectionInterface.java | 4 +- .../s4y/itag/ble/BLEPeripheralDefault.java | 8 +- 28 files changed, 616 insertions(+), 270 deletions(-) create mode 100644 app/src/main/assets/found.mp3 create mode 100644 app/src/main/java/s4y/itag/itag/TagAlertMode.java create mode 100644 app/src/main/java/s4y/itag/itag/TagConnectionMode.java diff --git a/app/src/main/assets/found.mp3 b/app/src/main/assets/found.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..67088c190ea2ae65d10a53729d15a6dea25a7f88 GIT binary patch literal 57964 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�Wfpx6k*SM~ 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≫&OwG#|bz@KMYI6NA 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%0Dg!hC@fErKv8stdO7;>2VJwI4M3SKV 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 z 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

kn->)O!pnlg} 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

A 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%0AB)>6K{i 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 tagViews = new HashMap<>(); + public void updateTags(boolean firstTime){ + Log.d("ingo", "firstTime " + firstTime); + for (Map.Entry entry : tagViews.entrySet()) { + String id = entry.getKey(); + ViewGroup rootView = entry.getValue(); + ITagInterface itag = ITag.store.byId(id); + BLEConnectionInterface connection = ble.connectionById(id); + if (itag != null) { + setupButtons(rootView, itag); + updateITagImage(rootView, itag); + updateITagImageAnimation(rootView, itag, connection); + updateName(rootView, itag); + updateAlertButton(rootView, itag.isAlertEnabled(), connection.isConnected()); + } + updateRSSI(rootView, connection.rssi()); + updateState(rootView, id, connection.state()); + updateLocationImage(rootView, id); + } + + updateWayToday(); + } + private void setupTags(@NonNull ViewGroup root) { Activity activity = getActivity(); if (activity == null) return; // @@ -68,57 +90,21 @@ private void setupTags(@NonNull ViewGroup root) { index = root.indexOfChild(tagsLayout); } final int s = ITag.store.count(); + Log.d("ingo", "s je " + s); final int rid = s == 0 ? R.layout.itag_0 : s == 1 ? R.layout.itag_1 : s == 2 ? R.layout.itag_2 : s == 3 ? R.layout.itag_3 : R.layout.itag_4; tagsLayout = activity.getLayoutInflater().inflate(rid, root, false); root.addView(tagsLayout, index); tagViews.clear(); - if (s > 0) { - ITagInterface itag = ITag.store.byPos(0); - if (itag != null) { - tagViews.put(itag.id(), root.findViewById(R.id.tag_1).findViewById(R.id.layout_itag)); - } - } - - if (s > 1) { - ITagInterface itag = ITag.store.byPos(1); - if (itag != null) { - tagViews.put(itag.id(), root.findViewById(R.id.tag_2).findViewById(R.id.layout_itag)); - } - } - - if (s > 2) { - ITagInterface itag = ITag.store.byPos(2); - if (itag != null) { - tagViews.put(itag.id(), root.findViewById(R.id.tag_3).findViewById(R.id.layout_itag)); - } - } - - if (s > 3) { - ITagInterface itag = ITag.store.byPos(3); - if (itag != null) { - tagViews.put(itag.id(), root.findViewById(R.id.tag_4).findViewById(R.id.layout_itag)); - } - } - - for (Map.Entry entry : tagViews.entrySet()) { - String id = entry.getKey(); - ViewGroup rootView = entry.getValue(); - ITagInterface itag = ITag.store.byId(id); - BLEConnectionInterface connection = ble.connectionById(id); + int[] tag_ids = new int[]{R.id.tag_1, R.id.tag_2, R.id.tag_3, R.id.tag_4}; + for(int i = 0; i <= s; i++){ + ITagInterface itag = ITag.store.byPos(i); if (itag != null) { - setupButtons(rootView, itag); - updateITagImage(rootView, itag); - updateITagImageAnimation(rootView, itag, connection); - updateName(rootView, itag); - updateAlertButton(rootView, itag.isAlertOnDisconnectEnabled(), connection.isConnected()); + tagViews.put(itag.id(), root.findViewById(tag_ids[i]).findViewById(R.id.layout_itag)); } - updateRSSI(rootView, connection.rssi()); - updateState(rootView, id, connection.state()); - updateLocationImage(rootView, id); } - updateWayToday(); + updateTags(true); } private void setupButtons(@NonNull ViewGroup rootView, @NonNull final ITagInterface itag) { @@ -214,7 +200,9 @@ private void updateRSSI(@NonNull ViewGroup rootView, int rssi) { rssiView.setRssi(rssi); } if (rssiTextView != null) { - rssiTextView.setText(String.format(getString(R.string.rssi), rssi)); + getActivity().runOnUiThread(() -> { + rssiTextView.setText(String.format(getString(R.string.rssi), rssi)); + }); } } @@ -242,7 +230,7 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu case connecting: case disconnecting: ITagInterface itag = ITag.store.byId(id); - if (itag != null && itag.isAlertOnDisconnectEnabled()) { + if (itag != null && itag.isAlertEnabled()) { statusDrawableId = R.drawable.bt_connecting; statusDrawableTint = Color.RED; statusTextId = R.string.bt_lost; @@ -298,14 +286,16 @@ private void updateName(@NonNull ViewGroup rootView, ITagInterface itag) { textId.setText(itag.id()); } - private void updateAlertButton(@NonNull ViewGroup rootView, boolean isAlertDisconnected, boolean isConnected) { + private void updateAlertButton(@NonNull ViewGroup rootView, boolean isAlertEnabled, boolean isConnected) { Activity activity = getActivity(); if (activity == null) return; // final ImageView btnAlert = rootView.findViewById(R.id.btn_alert); + final TextView modeTextView = rootView.findViewById(R.id.text_mode); if (BuildConfig.DEBUG) { - Log.d(LT, "updateAlertButton2 isAlertDisconnected=" + isAlertDisconnected + " isConnected=" + isConnected); + Log.d(LT, "updateAlertButton2 isAlertEnabled=" + isAlertEnabled + " isConnected=" + isConnected); } - btnAlert.setImageResource(isAlertDisconnected || isConnected ? R.drawable.linked : R.drawable.keyfinder); + btnAlert.setImageResource(isAlertEnabled || isConnected ? R.drawable.linked : R.drawable.keyfinder); + modeTextView.setText(getString(isAlertEnabled || isConnected ? R.string.mode_alert : R.string.mode_dont_connect)); } private void updateAlertButton(@NonNull String id) { @@ -330,7 +320,7 @@ private void updateAlertButton(@NonNull String id) { } BLEConnectionInterface connection = ble.connectionById(id); boolean isConnected = connection.isConnected(); - boolean isAlertDisconnected = itag.isAlertOnDisconnectEnabled(); + boolean isAlertDisconnected = itag.isAlertEnabled(); if (BuildConfig.DEBUG) { Log.d(LT, "id = " + id + " updateAlertButton2 isAlertDisconnected=" + isAlertDisconnected + " isConnected=" + isConnected); } @@ -349,14 +339,17 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation isFindMe:" + connection.isFindMe() + " isAlerting:" + connection.isAlerting() + - " isAlertDisconnected:" + itag.isAlertOnDisconnectEnabled() + + " isAlertDisconnected:" + itag.isAlertEnabled() + " not connected:" + !connection.isConnected() ); } if (connection.isAlerting() || - connection.isFindMe() || - itag.isAlertOnDisconnectEnabled() && !connection.isConnected()) { - animShake = mITagAnimation;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); + itag.shakingOnConnectDisconnect() || + connection.isFindMe()) { + Log.d("ingo", "updateITagImageAnimation " + connection.isAlerting() + " " + + itag.shakingOnConnectDisconnect() + " " + + connection.isFindMe()); + animShake = mITagAnimation;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); } final ImageView imageITag = rootView.findViewById(R.id.image_itag); if (animShake == null) { @@ -383,7 +376,7 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface } } - private void updateITagImageAnimation(@NonNull ITagInterface itag, @NonNull BLEConnectionInterface connection) { + void updateITagImageAnimation(@NonNull ITagInterface itag, @NonNull BLEConnectionInterface connection) { Activity activity = getActivity(); if (activity == null) return; // ViewGroup view = tagViews.get(itag.id()); @@ -440,6 +433,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, final VolumePreference mute = new VolumePreference(getContext()); View root = inflater.inflate(R.layout.fragment_itags, container, false); if (root != null) { + ViewGroup realRoot = root.findViewById(R.id.root); + setupTags(realRoot); final ImageView imgMute = root.findViewById(R.id.btn_mute); int m = mute.get(); imgMute.setImageResource( @@ -471,7 +466,6 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, }); } - return root; } @@ -517,9 +511,12 @@ public void onResume() { if (activity == null) return; ITagApplication.faITagsView(ITag.store.count()); - final ViewGroup root = (ViewGroup) requireView(); - setupTags(root); - disposableBag.add(ITag.store.observable().subscribe(event -> setupTags(root))); + + disposableBag.add(ITag.store.observable().subscribe(event -> { + Log.d("ingo", "setupTags"); + updateTags(false); + //setupTags(root); + })); for (int i = 0; i < ITag.store.count(); i++) { final ITagInterface itag = ITag.store.byPos(i); if (itag == null) { @@ -553,6 +550,7 @@ public void onResume() { final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); boolean wt_disabled = sp.getBoolean("wt_disabled0", false); if (wt_disabled) { + ViewGroup root = (ViewGroup) requireView(); root.findViewById(R.id.btn_waytoday).setVisibility(View.GONE); } else { Waytoday.tracker.addOnTrackingStateListener(this); diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 275b246..eb92155 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -62,6 +62,8 @@ public class MainActivity extends FragmentActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + Log.d("ingo", "onCreate"); + setupContent(); /* // ATTENTION: This was auto-generated to handle app linksI Intent appLinkIntent = getIntent(); @@ -91,6 +93,8 @@ private enum FragmentType { private FragmentType mSelectedFragment; private int mEnableAttempts = 0; + Fragment fragment2 = null; + static class ITagServiceConnection implements ServiceConnection { @Override @@ -118,11 +122,15 @@ protected void onResume() { super.onResume(); ErrorsObservable.addErrorListener(mErrorListener); sIsShown = true; - setupContent(); Waytoday.gpsLocationUpdater.addOnPermissionListener(gpsPermissionListener); - disposableBag.add(ITag.ble.observableState().subscribe(event -> setupContent())); + Log.d("ingo", "onresume"); + disposableBag.add(ITag.ble.observableState().subscribe(event -> { + Log.d("ingo", "disposableBag.add(ITag.ble.observableState().subscribe"); + //setupContent(); + })); disposableBag.add(ITag.ble.scanner().observableActive().subscribe( event -> { + Log.d("ingo", "disposableBag.add(ITag.ble.scanner().observableActive().subscribe("); if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "ble.scanner activeEvent=" + event + " isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } @@ -203,29 +211,30 @@ private void setNotFirstLaunch() { } private void setupContent() { - final FragmentManager fragmentManager = getSupportFragmentManager(); - final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); - Fragment fragment = null; if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "setupContent isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } + Fragment newFragment = null; setupProgressBar(); + Log.d("ingo", "setupContent"); if (ITag.ble.scanner().isScanning()) { + Log.d("ingo", "scanner"); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.SCANNER) { - fragment = new ScanFragment(); + Log.d("ingo", "scanner yes"); + newFragment = new ScanFragment(); mSelectedFragment = FragmentType.SCANNER; } } else { if (ITag.ble.state() == BLEState.NO_ADAPTER) { - fragment = new NoBLEFragment(); + newFragment = new NoBLEFragment(); mSelectedFragment = FragmentType.OTHER; } else { if (ITag.ble.state() == BLEState.OK) { setNotFirstLaunch(); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.ITAGS) { - fragment = new ITagsFragment(); + newFragment = new ITagsFragment(); mSelectedFragment = FragmentType.ITAGS; } } else { @@ -249,16 +258,20 @@ private void setupContent() { if (BuildConfig.DEBUG) { Log.d(LT, "setupContent BT disabled, auto enable failed"); } - fragment = new DisabledBLEFragment(); + newFragment = new DisabledBLEFragment(); mSelectedFragment = FragmentType.OTHER; } } } } - if (fragment != null) { - fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); - fragmentTransaction.replace(R.id.content, fragment); + if (newFragment != null) { + final FragmentManager fragmentManager = getSupportFragmentManager(); + final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); + Log.d("ingo", "fragment je " + newFragment.getClass().getSimpleName() + ", mSelectedFragment je " + mSelectedFragment); + //fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); + fragmentTransaction.replace(R.id.content, newFragment, null); fragmentTransaction.commitAllowingStateLoss(); + fragment2 = newFragment; } } @@ -333,22 +346,39 @@ public void onLocationClick(@NonNull View sender) { } } + public boolean isItagsFragmentShown(){ + return fragment2 != null && fragment2.getClass().getSimpleName().equals("ITagsFragment"); + } + public void onITagClick(@NonNull View sender) { ITagInterface itag = (ITagInterface) sender.getTag(); + Log.d("ingo", "onITagClick"); if (itag == null) { return; } - MediaPlayerUtils.getInstance().stopSound(this); final BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - Notifications.cancelDisconnectNotification(this); - if (connection.isFindMe()) { - connection.resetFindeMe(); + + if (connection.isFindMe()) { // iTag contacting phone + connection.resetFindMe(); + } else if(itag.shakingOnConnectDisconnect()) { + ITag.store.setShakingOnConnectDisconnect(itag.id(), false); + Log.d("ingo", "did it"); + // TODO: check if fragments needs updating + if(isItagsFragmentShown()) { + Log.d("ingo", "isItagsFragmentShown true"); + ((ITagsFragment) fragment2).updateITagImageAnimation(itag, connection); + } + Notifications.cancelDisconnectNotification(this); + Notifications.cancelConnectNotification(this); + MediaPlayerUtils.getInstance().stopSound(this); } else if (connection.isConnected()) { + Log.d("ingo", "connected"); new Thread(() -> { toggleAlertOnITag(connection); }).start(); } else { - if (!itag.isAlertOnDisconnectEnabled()) { + // TODO: change depending on modes + if (!itag.isAlertEnabled()) { // there's no sense to communicate if the connection is in the connecting state ITag.connectAsync(connection, false, () -> { toggleAlertOnITag(connection); @@ -381,15 +411,15 @@ public void onStartStopScan(View ignored) { .setPositiveButton(android.R.string.ok, (dialog, which) -> requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION)) .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.cancel()) .show(); - return; } else { // isScanRequestAbortedBecauseOfPermission=true; requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION); - return; } + return; } } ITag.ble.scanner().start(ITag.SCAN_TIMEOUT, new String[]{}); + Log.d("ingo", "scanner started"); } } @@ -400,7 +430,7 @@ public void onAppMenu(@NonNull View sender) { //noinspection SwitchStatementWithTooFewBranches switch (item.getItemId()) { case R.id.exit: - ITag.close(); + ITag.closeApplication(); Waytoday.stop(this); ITagsService.stop(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -549,31 +579,37 @@ public void onChangeColor(@NonNull View sender) { popupMenu.show(); } - public void changeDisconnectMode(@NonNull View sender) { + public void disconnectItag(@NonNull View sender) { ITagInterface itag = (ITagInterface) sender.getTag(); if (itag == null) { ITagApplication.handleError(new Exception("No itag")); return; } BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - if (itag.isAlertOnDisconnectEnabled()) { + if (itag.isAlertEnabled()) { + Log.d("ingo", "disconnectItag yes"); ITag.store.setAlert(itag.id(), false); + ITag.disableReconnect(itag.id()); new Thread(connection::disconnect).start(); } else { - if (connection.isConnected()) { - new Thread(connection::disconnect).start(); - } else { - ITag.store.setAlert(itag.id(), true); - ITag.connectAsync(connection); - } + Log.d("ingo", "disconnectItag no"); + ITag.store.setAlert(itag.id(), true); + ITag.enableReconnect(itag.id()); + ITag.connectAsync(connection); } - if (itag.isAlertOnDisconnectEnabled()) { - Toast.makeText(this, R.string.mode_alertdisconnect, Toast.LENGTH_SHORT).show(); + /*if (itag.isAlertEnabled()) { + //Toast.makeText(this, R.string.mode_alertdisconnect, Toast.LENGTH_SHORT).show(); + if(isItagsFragmentShown()) { + ((ITagsFragment) fragment2).updateModeTextView(itag.id(), "Alert enabled"); + } ITagApplication.faUnmuteTag(); } else { - Toast.makeText(this, R.string.mode_keyfinder, Toast.LENGTH_SHORT).show(); + //Toast.makeText(this, R.string.mode_keyfinder, Toast.LENGTH_SHORT).show(); + if(isItagsFragmentShown()) { + ((ITagsFragment) fragment2).updateModeTextView(itag.id(), "Alert disabled"); + } ITagApplication.faMuteTag(); - } + }*/ } public void onSetName(@NonNull View sender) { diff --git a/app/src/main/java/s4y/itag/MediaPlayerUtils.java b/app/src/main/java/s4y/itag/MediaPlayerUtils.java index 3381ce4..f139e15 100644 --- a/app/src/main/java/s4y/itag/MediaPlayerUtils.java +++ b/app/src/main/java/s4y/itag/MediaPlayerUtils.java @@ -92,7 +92,7 @@ public void run() { if (v == null) { return; } -// Vibrate for 500 milliseconds + // Vibrate for 500 milliseconds if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE)); } else { @@ -107,7 +107,7 @@ public boolean isSound() { return mPlayer.isPlaying(); } - public void startSoundDisconnected(Context context) { + public void startSoundConnectedDisconnected(Context context, Boolean disconnected) { stopSound(context); AudioManager am = (AudioManager) context.getSystemService(AUDIO_SERVICE); @@ -120,11 +120,11 @@ public void startSoundDisconnected(Context context) { AssetFileDescriptor afd = null; try { - afd = context.getAssets().openFd("lost.mp3"); - + afd = context.getAssets().openFd("lost.mp3"); // TODO: different sound on connect and disconnect + MediaPlayerUtils.getInstance().stop(); mVolumeLevel = am.getStreamVolume(AudioManager.STREAM_ALARM); am.setStreamVolume(AudioManager.STREAM_ALARM, am.getStreamMaxVolume(AudioManager.STREAM_ALARM), 0); - + // TODO: make duration of alarm configurable mPlayer.stop(); mPlayer.reset(); mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); @@ -133,7 +133,7 @@ public void startSoundDisconnected(Context context) { mPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); mPlayer.prepareAsync(); - // mPlayer.start(); + // mPlayer.start(); } catch (IOException e) { ITagApplication.handleError(e, true); } finally { diff --git a/app/src/main/java/s4y/itag/Notifications.java b/app/src/main/java/s4y/itag/Notifications.java index 1e17eba..e4cd562 100644 --- a/app/src/main/java/s4y/itag/Notifications.java +++ b/app/src/main/java/s4y/itag/Notifications.java @@ -13,13 +13,16 @@ public class Notifications { private static final int NOTIFICATION_DISCONNECT_ID = 2; + private static final int NOTIFICATION_CONNECT_ID = 3; private static final String CHANNEL_DISCONNECT_ID = "ditag1"; + private static final String CHANNEL_CONNECT_ID = "ditag2"; static final String EXTRA_STOP_SOUND = "stop_sound"; private static boolean createdChannelDisconnected; + private static boolean createdChannelConnected; private static void createDisconnectNotificationChannel() { if (!createdChannelDisconnected && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - CharSequence name = ITagApplication.context.getString(R.string.app_name); + CharSequence name = ITagApplication.context.getString(R.string.channel_disconnect); int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel channel = new NotificationChannel(CHANNEL_DISCONNECT_ID, name, importance); channel.setSound(null, null); @@ -33,6 +36,22 @@ private static void createDisconnectNotificationChannel() { } } + private static void createConnectNotificationChannel() { + if (!createdChannelConnected && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + CharSequence name = ITagApplication.context.getString(R.string.channel_connect); + int importance = NotificationManager.IMPORTANCE_HIGH; + NotificationChannel channel = new NotificationChannel(CHANNEL_CONNECT_ID, name, importance); + channel.setSound(null, null); + channel.setShowBadge(false); + channel.enableVibration(true); + NotificationManager notificationManager = ITagApplication.context.getSystemService(NotificationManager.class); + if (notificationManager != null) { + notificationManager.createNotificationChannel(channel); + createdChannelConnected = true; + } + } + } + public static void sendDisconnectNotification(Context context, String name) { createDisconnectNotificationChannel(); NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ITagsService.FOREGROUND_CHANNEL_ID); @@ -62,10 +81,46 @@ public static void sendDisconnectNotification(Context context, String name) { } } + public static void sendConnectNotification(Context context, String name) { + createConnectNotificationChannel(); + NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ITagsService.FOREGROUND_CHANNEL_ID); + builder + .setTicker(String.format(context.getString(R.string.notify_connect), + name == null || "".equals(name) ? "iTag" : name)) + .setSmallIcon(R.drawable.noalert) + .setContentTitle(String.format(context.getString(R.string.notify_connect), name)) + .setContentText(context.getString(R.string.click_to_silent)) + .setPriority(Notification.PRIORITY_MAX) + .setAutoCancel(true); + + Intent intent = ITagsService.intentStart(context); + intent.putExtra(EXTRA_STOP_SOUND, true); + PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + builder.setContentIntent(pendingIntent); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + createConnectNotificationChannel(); + builder.setChannelId(CHANNEL_CONNECT_ID); + } + Notification notification = builder.build(); + + NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); + if (notificationManager != null) { + notificationManager.notify(NOTIFICATION_CONNECT_ID, notification); + } + } + public static void cancelDisconnectNotification(Context context) { NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if (notificationManager != null) { notificationManager.cancel(NOTIFICATION_DISCONNECT_ID); } } + + public static void cancelConnectNotification(Context context) { + NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); + if (notificationManager != null) { + notificationManager.cancel(NOTIFICATION_CONNECT_ID); + } + } } diff --git a/app/src/main/java/s4y/itag/SetNameDialogFragment.java b/app/src/main/java/s4y/itag/SetNameDialogFragment.java index b705f33..45c0f30 100644 --- a/app/src/main/java/s4y/itag/SetNameDialogFragment.java +++ b/app/src/main/java/s4y/itag/SetNameDialogFragment.java @@ -4,10 +4,11 @@ import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.widget.RadioButton; -import android.widget.RadioGroup; +import android.widget.ArrayAdapter; +import android.widget.Spinner; import android.widget.TextView; import androidx.annotation.NonNull; @@ -15,6 +16,8 @@ import s4y.itag.itag.ITag; import s4y.itag.itag.ITagInterface; +import s4y.itag.itag.TagAlertMode; +import s4y.itag.itag.TagConnectionMode; public class SetNameDialogFragment extends DialogFragment { static ITagInterface iTag; @@ -27,47 +30,122 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { @SuppressLint("InflateParams") final View view = inflater.inflate(R.layout.fragment_set_name, null); final TextView textName = view.findViewById(R.id.text_name); textName.setText(iTag.name()); - final RadioGroup grpAlarm = view.findViewById(R.id.alarm_delay); - final RadioButton btnAlarm0 = view.findViewById(R.id.alarm_delay_0); - final RadioButton btnAlarm3 = view.findViewById(R.id.alarm_delay_3); - final RadioButton btnAlarm5 = view.findViewById(R.id.alarm_delay_5); - final RadioButton btnAlarm10 = view.findViewById(R.id.alarm_delay_10); - /* - final AlarmDelayPreference alarmDelayPreference = - new AlarmDelayPreference(this.getContext(), device); - * - */ - grpAlarm.clearCheck(); + final Spinner alarmDelaySpinner = view.findViewById(R.id.alarm_delay_spinner); + + ArrayAdapter alarmDelayAdapter = ArrayAdapter.createFromResource( + requireContext(), + R.array.itag_alarm_delays, + android.R.layout.simple_spinner_item + ); + // Specify the layout to use when the list of choices appears. + alarmDelayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + // Apply the adapter to the spinner. + alarmDelaySpinner.setAdapter(alarmDelayAdapter); + + final Spinner alarmModeSpinner = view.findViewById(R.id.alarm_mode_spinner); + ArrayAdapter alarmModeAdapter = ArrayAdapter.createFromResource( + requireContext(), + R.array.itag_alarm_modes, + android.R.layout.simple_spinner_item + ); + // Specify the layout to use when the list of choices appears. + alarmModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + // Apply the adapter to the spinner. + alarmModeSpinner.setAdapter(alarmModeAdapter); + + TagAlertMode alertMode = iTag.alertMode(); + switch(alertMode){ + case noAlarm: + alarmModeSpinner.setSelection(0); + break; + case alertOnDisconnect: + alarmModeSpinner.setSelection(1); + break; + case alertOnConnect: + alarmModeSpinner.setSelection(2); + break; + case alertOnBoth: + alarmModeSpinner.setSelection(3); + break; + } + + // TODO: passive mode would let the phone detect iTag without connecting to it + /*final Spinner connectionModeSpinner = view.findViewById(R.id.connection_mode_spinner); + ArrayAdapter connectionModeAdapter = ArrayAdapter.createFromResource( + requireContext(), + R.array.itag_connection_modes, + android.R.layout.simple_spinner_item + ); + // Specify the layout to use when the list of choices appears. + connectionModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + // Apply the adapter to the spinner. + connectionModeSpinner.setAdapter(connectionModeAdapter); + + TagConnectionMode connectionMode = iTag.connectionMode(); + switch(connectionMode){ + case connect: + connectionModeSpinner.setSelection(0); + break; + case dontConnect: + connectionModeSpinner.setSelection(1); + break; + }*/ + int alarm =iTag.alertDelay(); if (alarm<3) { - btnAlarm0.setChecked(true); + alarmDelaySpinner.setSelection(0); }else if (alarm < 5){ - btnAlarm3.setChecked(true); + alarmDelaySpinner.setSelection(1); }else if (alarm <10) { - btnAlarm5.setChecked(true); + alarmDelaySpinner.setSelection(2); }else { - btnAlarm10.setChecked(true); + alarmDelaySpinner.setSelection(3); } builder.setTitle(R.string.change_name) .setView(view) .setPositiveButton(android.R.string.ok, (dialog, id) -> { - ITag.store.setName(iTag.id(), textName.getText().toString()); - ITagApplication.faNameITag(); - switch (grpAlarm.getCheckedRadioButtonId()) { - case R.id.alarm_delay_0: + if(!iTag.name().equals(textName.getText().toString())) { + ITag.store.setName(iTag.id(), textName.getText().toString()); + ITagApplication.faNameITag(); + } + switch (alarmDelaySpinner.getSelectedItemPosition()) { + case 0: ITag.store.setAlertDelay(iTag.id(), 0); break; - case R.id.alarm_delay_3: + case 1: ITag.store.setAlertDelay(iTag.id(), 3); break; - case R.id.alarm_delay_5: + case 2: ITag.store.setAlertDelay(iTag.id(), 5); break; default: ITag.store.setAlertDelay(iTag.id(), 10); break; } + // TODO: passive vs active mode + /*switch (connectionModeSpinner.getSelectedItemPosition()) { + case 0: + ITag.store.setConnectionMode(iTag.id(), TagConnectionMode.connect); + break; + case 1: + ITag.store.setConnectionMode(iTag.id(), TagConnectionMode.dontConnect); + break; + }*/ + switch (alarmModeSpinner.getSelectedItemPosition()) { + case 0: + ITag.store.setAlertMode(iTag.id(), TagAlertMode.noAlarm); + break; + case 1: + ITag.store.setAlertMode(iTag.id(), TagAlertMode.alertOnDisconnect); + break; + case 2: + ITag.store.setAlertMode(iTag.id(), TagAlertMode.alertOnConnect); + break; + default: + ITag.store.setAlertMode(iTag.id(), TagAlertMode.alertOnBoth); + break; + } }) .setNegativeButton(android.R.string.cancel, (dialog, id) -> { //dialog.cancel(); diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index 9e8c14e..b9773e7 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -22,7 +22,7 @@ import s4y.itag.preference.VolumePreference; import solutions.s4y.rasat.DisposableBag; -import static s4y.itag.Notifications.cancelDisconnectNotification; +import static s4y.itag.Notifications.sendConnectNotification; import static s4y.itag.Notifications.sendDisconnectNotification; public class ITag { @@ -44,14 +44,16 @@ public static void initITag(Context context) { store = new ITagsStoreDefault(ITagApplication.context); for (int i = 0; i < store.count(); i++) { ITagInterface itag = store.byPos(i); - if (itag == null || !itag.isAlertOnDisconnectEnabled()) continue; + // TODO: modify so that it doesn't connect in passive mode + if (itag == null || !itag.isAlertEnabled()) continue; BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); connectAsync(connection); enableReconnect(itag.id()); } - subscribeDisconnections(); + subscribeDisconnectionsAndConnections(); disposables.add(store.observable().subscribe(event -> { - ITagInterface itag = event.tag; + Log.d("ingo", "disposables.add(store.observable().subscribe(event -> { " + event.op); + /*ITagInterface itag = event.tag; boolean reconnect = store.remembered(itag.id()) && itag.isAlertOnDisconnectEnabled(); BLEConnectionInterface connection = ble.connectionById(itag.id()); if (reconnect) { @@ -64,13 +66,13 @@ public static void initITag(Context context) { if (connection.isConnected()) { new Thread(() -> connection.disconnect(BLE_TIMEOUT)).start(); } - } - subscribeDisconnections(); + }*/ + subscribeDisconnectionsAndConnections(); })); } - public static void close() { + public static void closeApplication() { List ids; synchronized (reconnectListeners) { ids = new ArrayList<>(reconnectListeners.keySet()); @@ -100,75 +102,100 @@ public static void close() { disposablesConnections.dispose(); } - private static void subscribeDisconnections() { + private static void subscribeDisconnectionsAndConnections() { disposablesConnections.dispose(); for (int i = 0; i < store.count(); i++) { final ITagInterface itag = store.byPos(i); - if (itag != null) { - BLEConnectionInterface connection = ble.connectionById(itag.id()); - if (itag.isAlertOnDisconnectEnabled()){ - disposablesConnections.add(connection.observableState().subscribe(event -> { - if (BuildConfig.DEBUG) - Log.d(LT, "connection " + connection.id() + " state " + connection.state()); - if (itag.isAlertOnDisconnectEnabled() && BLEConnectionState.disconnected.equals(connection.state())) { - if (itag.alertDelay() == 0) { - if (BuildConfig.DEBUG) - Log.d(LT, "connection " + connection.id() + " lost"); - alertUser(itag); - MediaPlayerUtils.getInstance().startSoundDisconnected(ITagApplication.context); - sendDisconnectNotification(ITagApplication.context, itag.name()); - HistoryRecord.add(ITagApplication.context, itag.id()); - } else { - if (BuildConfig.DEBUG) Log.d(LT, "connection " + - connection.id() + " lost will be delayed by " + - (itag.alertDelay() * 1000) + "ms"); - new Handler(Looper.getMainLooper()).postDelayed(() -> { - if (BuildConfig.DEBUG) Log.d(LT, "connection " + - connection.id() + " lost posted, state=" + - connection.state()); - if (itag.isAlertOnDisconnectEnabled() && !connection.isConnected()) { - if (BuildConfig.DEBUG) - Log.d(LT, "connection " + connection.id() + " lost"); - alertUser(itag); - } - }, itag.alertDelay() * 1000L); - } - } else if (BLEConnectionState.connected.equals(connection.state())) { + if (itag == null) continue; + BLEConnectionInterface connection = ble.connectionById(itag.id()); + if (itag.isAlertEnabled()){ + disposablesConnections.add(connection.observableState().subscribe(event -> { + if (BuildConfig.DEBUG) + Log.d(LT, "connection " + connection.id() + " state " + connection.state()); + Log.e("ingo", "state = " + connection.state() + ", old state = " + connection.oldState()); + if(connection.state() == connection.oldState()){ + return; + } + if( + (BLEConnectionState.connected.equals(connection.state()) && BLEConnectionState.writting.equals(connection.oldState())) || + (BLEConnectionState.writting.equals(connection.state())) + ){ + connection.setOldState(connection.state()); + return; + } + connection.setOldState(connection.state()); + Log.d("ingo", "alert mode " + itag.alertMode()); + if ((itag.alertMode() == TagAlertMode.alertOnDisconnect || itag.alertMode() == TagAlertMode.alertOnBoth) && BLEConnectionState.disconnected.equals(connection.state())) { + if (itag.alertDelay() == 0) { if (BuildConfig.DEBUG) - Log.d(LT, "connection " + connection.id() + " restored"); - // TODO: play sound if connection restore alert is enabled - MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); + Log.d(LT, "connection " + connection.id() + " lost"); + alertUser(itag, true); + } else { + if (BuildConfig.DEBUG) Log.d(LT, "connection " + + connection.id() + " lost will be delayed by " + + (itag.alertDelay() * 1000) + "ms"); + new Handler(Looper.getMainLooper()).postDelayed(() -> { + if (BuildConfig.DEBUG) Log.d(LT, "connection " + + connection.id() + " lost posted, state=" + + connection.state()); + if (itag.isAlertEnabled() && !connection.isConnected()) { + if (BuildConfig.DEBUG) + Log.d(LT, "connection " + connection.id() + " lost"); + alertUser(itag, true); + } + }, itag.alertDelay() * 1000L); + } + } else if (BLEConnectionState.connected.equals(connection.state())) { + if (BuildConfig.DEBUG) + Log.d(LT, "connection " + connection.id() + " restored"); + // TODO: play sound if connection restore alert is enabled + if((itag.alertMode() == TagAlertMode.alertOnConnect || itag.alertMode() == TagAlertMode.alertOnBoth)){ + //if(MediaPlayerUtils.getInstance().isSound()){ + alertUser(itag, false); + //} + }/* else { + stopSound(); cancelDisconnectNotification(ITagApplication.context); HistoryRecord.clear(ITagApplication.context, itag.id()); - } + }*/ } - )); - } - disposablesConnections.add(connection.observableClick().subscribe(click -> { - if (click != 0 && connection.isAlerting()) { - new Thread(() -> connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT)).start(); + } + )); + } + disposablesConnections.add(connection.observableClick().subscribe(click -> { + if (click != 0 && connection.isAlerting()) { + new Thread(() -> connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT)).start(); + } else { + if (connection.isFindMe() && !MediaPlayerUtils.getInstance().isSound()) { + MediaPlayerUtils.getInstance().startFindPhone(ITagApplication.context); } else { - if (connection.isFindMe() && !MediaPlayerUtils.getInstance().isSound()) { - MediaPlayerUtils.getInstance().startFindPhone(ITagApplication.context); - } else { - if (connection.isConnected()) { - MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); - } + if (connection.isConnected()) { + stopSound(); } } - })); - } + } + })); } } - private static void alertUser(ITagInterface itag) { + static void stopSound(){ + MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); + } + + private static void alertUser(ITagInterface itag, Boolean disconnected) { + Log.d("ingo", "setShakingOnConnectDisconnect(true)"); + itag.setShakingOnConnectDisconnect(true); int volume = new VolumePreference(ITagApplication.context).get(); if (volume == VolumePreference.LOUD) { - MediaPlayerUtils.getInstance().startSoundDisconnected(ITagApplication.context); + MediaPlayerUtils.getInstance().startSoundConnectedDisconnected(ITagApplication.context, disconnected); } else if (volume == VolumePreference.VIBRATION) { MediaPlayerUtils.getInstance().startVibrate(); } - sendDisconnectNotification(ITagApplication.context, itag.name()); + if(disconnected) { + sendDisconnectNotification(ITagApplication.context, itag.name()); + } else { + sendConnectNotification(ITagApplication.context, itag.name()); + } HistoryRecord.add(ITagApplication.context, itag.id()); } @@ -222,9 +249,9 @@ public void run() { Log.d(LT, "BLE Connect thread connect " + connection.id() + "/" + itag.name() + " " + Thread.currentThread().getName()); } connection.connect(infinity); - } while (!isInterrupted() && itag.isAlertOnDisconnectEnabled() && infinity && !connection.isConnected()); + } while (!isInterrupted() && itag.isAlertEnabled() && infinity && !connection.isConnected()); // stop sound on connection in any case - MediaPlayerUtils.getInstance().stopSound(ITagApplication.context); + stopSound(); if (!isInterrupted()) { if (onComplete != null) { onComplete.run(); @@ -245,7 +272,7 @@ public void run() { thread.start(); } - private static void enableReconnect(String id) { + public static void enableReconnect(String id) { disableReconnect(id); synchronized (reconnectListeners) { final BLEConnectionInterface connection = ITag.ble.connectionById(id); @@ -258,7 +285,7 @@ private static void enableReconnect(String id) { } } - private static void disableReconnect(String id) { + public static void disableReconnect(String id) { synchronized (reconnectListeners) { AutoCloseable existing = reconnectListeners.get(id); if (existing != null) { diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index a5f59d8..d5b159d 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -1,5 +1,7 @@ package s4y.itag.itag; +import android.util.Log; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -20,22 +22,29 @@ public class ITagDefault implements ITagInterface, Serializable { @NonNull private TagColor color; private boolean alert; + private TagAlertMode alertMode; + private TagConnectionMode connectionMode; private int alertDelay; + private boolean shakingOnConnectDisconnect = false; - public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor color, @Nullable Boolean alert, @Nullable Integer alertDelay) { + public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor color, @Nullable Boolean alert, @Nullable Integer alertDelay, @Nullable TagAlertMode alertMode, @Nullable TagConnectionMode connectionMode) { this.id = id; this.name = name == null ? ITagApplication.context.getString(R.string.unknown):name; this.color = color == null? TagColor.black : color; + this.alertMode = alertMode == null ? TagAlertMode.alertOnDisconnect : alertMode; + this.connectionMode = connectionMode == null ? TagConnectionMode.connect : connectionMode; + Log.d("ingo", "we set mode to " + alertMode); this.alert = alert == null ? false : alert; this.alertDelay = alertDelay == null ? 5: alertDelay; } public ITagDefault(@NonNull BLEScanResult scanResult) { - this(scanResult.id, scanResult.name == null ? "" : scanResult.name.trim(), null, null, null); + this(scanResult.id, scanResult.name == null ? "" : scanResult.name.trim(), null, null, null, null, null); } public ITagDefault(@NonNull String id, Map dict) { - this(id, (String)dict.get("name"), (TagColor)dict.get("color"), (Boolean)dict.get("alert"), (Integer)dict.get("alertDelay")); + this(id, (String)dict.get("name"), (TagColor)dict.get("color"), (Boolean)dict.get("alert"), (Integer)dict.get("alertDelay"), (TagAlertMode) dict.get("alertMode"), (TagConnectionMode) dict.get("connectionMode")); + Log.d("ingo", "poziva se iz dicta"); } @NonNull @@ -61,18 +70,41 @@ public TagColor color() { return color; } + @NonNull + @Override + public TagAlertMode alertMode() { + return alertMode; + } + + @NonNull + @Override + public Boolean shakingOnConnectDisconnect() { + return shakingOnConnectDisconnect; + } + + @NonNull + @Override + public TagConnectionMode connectionMode() { + return connectionMode; + } + @Override public void setColor(@NonNull TagColor color) { this.color = color; } @Override - public boolean isAlertOnDisconnectEnabled() { + public void setShakingOnConnectDisconnect(@NonNull Boolean shaking) { + this.shakingOnConnectDisconnect = shaking; + } + + @Override + public boolean isAlertEnabled() { return alert; } @Override - public void setAlertOnDisconnect(boolean alert) { + public void setAlert(boolean alert) { this.alert = alert; } @@ -86,10 +118,20 @@ public void setAlertDelay(int alertDelay) { this.alertDelay = alertDelay; } + @Override + public void setAlertMode(TagAlertMode alertMode) { + this.alertMode = alertMode; + } + + @Override + public void setConnectionMode(TagConnectionMode connectionMode) { + this.connectionMode = connectionMode; + } + @Override public void copyFromTag(@NonNull ITagInterface tag) { name = tag.name(); - alert = tag.isAlertOnDisconnectEnabled(); + alert = tag.isAlertEnabled(); color = tag.color(); } diff --git a/app/src/main/java/s4y/itag/itag/ITagFileStore.java b/app/src/main/java/s4y/itag/itag/ITagFileStore.java index d707949..fb82e25 100644 --- a/app/src/main/java/s4y/itag/itag/ITagFileStore.java +++ b/app/src/main/java/s4y/itag/itag/ITagFileStore.java @@ -60,7 +60,7 @@ static private void loadFromFile( for (Object d : dd) { if (d instanceof ITagDevice) { ITagDevice td = (ITagDevice) d; - ITagDefault tagDefault = new ITagDefault(td.addr, td.name, td.color, td.linked, null); + ITagDefault tagDefault = new ITagDefault(td.addr, td.name, td.color, td.linked, null, null, null); devices.add(tagDefault); } } diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index 505ed1d..ae9ef15 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -9,10 +9,16 @@ public interface ITagInterface { String id(); String name(); void setName(String name); + Boolean shakingOnConnectDisconnect(); TagColor color(); void setColor(TagColor color); - boolean isAlertOnDisconnectEnabled(); - void setAlertOnDisconnect(boolean alert); + void setShakingOnConnectDisconnect(Boolean currentlyShaking); + void setAlertMode(TagAlertMode alertMode); + void setConnectionMode(TagConnectionMode connectionMode); + TagConnectionMode connectionMode(); + TagAlertMode alertMode(); + boolean isAlertEnabled(); + void setAlert(boolean alert); int alertDelay(); void setAlertDelay(int alarmDelay); void copyFromTag(ITagInterface tag); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index 861bc51..6fe297f 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -65,7 +65,7 @@ synchronized public int count() { synchronized public boolean isDisconnectAlertOn() { for (String id : ids) { ITagInterface itag = tags.get(id); - if (itag != null && itag.isAlertOnDisconnectEnabled()) { + if (itag != null && itag.isAlertEnabled()) { return true; } } @@ -172,13 +172,46 @@ synchronized public void setAlertDelay(@NonNull String id, int delay) { channel.broadcast(new StoreOp(StoreOpType.change, tag)); } + @Override + synchronized public void setAlertMode(@NonNull String id, TagAlertMode alertMode) { + ITagInterface tag = tags.get(id); + if (tag == null) { + return; + } + tag.setAlertMode(alertMode); + new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); + channel.broadcast(new StoreOp(StoreOpType.change, tag)); + } + + @Override + synchronized public void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking) { + ITagInterface tag = tags.get(id); + if (tag == null) { + return; + } + tag.setShakingOnConnectDisconnect(shaking); + //new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); + channel.broadcast(new StoreOp(StoreOpType.change, tag)); + } + + @Override + synchronized public void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode) { + ITagInterface tag = tags.get(id); + if (tag == null) { + return; + } + tag.setConnectionMode(connectionMode); + new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); + channel.broadcast(new StoreOp(StoreOpType.change, tag)); + } + @Override synchronized public void setAlert(@NonNull String id, boolean alert) { ITagInterface tag = tags.get(id); if (tag == null) { return; } - tag.setAlertOnDisconnect(alert); + tag.setAlert(alert); new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); channel.broadcast(new StoreOp(StoreOpType.change, tag)); } diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index 4ecf6f4..89d8c97 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -21,6 +21,9 @@ public interface ITagsStoreInterface { void remember(@NonNull ITagInterface tag); boolean remembered(@NonNull String id); void setAlertDelay(@NonNull String id,int delay); + void setAlertMode(@NonNull String id, TagAlertMode alertMode); + void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking); + void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode); void setAlert(@NonNull String id,boolean alert); void setColor(@NonNull String id,@NonNull TagColor color); void setName(@NonNull String id,String name); diff --git a/app/src/main/java/s4y/itag/itag/TagAlertMode.java b/app/src/main/java/s4y/itag/itag/TagAlertMode.java new file mode 100644 index 0000000..dac099e --- /dev/null +++ b/app/src/main/java/s4y/itag/itag/TagAlertMode.java @@ -0,0 +1,8 @@ +package s4y.itag.itag; + +public enum TagAlertMode { + noAlarm, + alertOnDisconnect, + alertOnConnect, + alertOnBoth +} diff --git a/app/src/main/java/s4y/itag/itag/TagConnectionMode.java b/app/src/main/java/s4y/itag/itag/TagConnectionMode.java new file mode 100644 index 0000000..b22aa54 --- /dev/null +++ b/app/src/main/java/s4y/itag/itag/TagConnectionMode.java @@ -0,0 +1,6 @@ +package s4y.itag.itag; + +public enum TagConnectionMode { + connect, + dontConnect, +} diff --git a/app/src/main/res/layout/fragment_set_name.xml b/app/src/main/res/layout/fragment_set_name.xml index 289237a..d46c6c2 100644 --- a/app/src/main/res/layout/fragment_set_name.xml +++ b/app/src/main/res/layout/fragment_set_name.xml @@ -21,12 +21,46 @@ android:inputType="textPersonName" android:text="Name" /> + + + + + + - - - - - - - - - - - + android:layout_height="wrap_content" /> + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/itag.xml b/app/src/main/res/layout/itag.xml index f4d5ad2..a840972 100644 --- a/app/src/main/res/layout/itag.xml +++ b/app/src/main/res/layout/itag.xml @@ -14,7 +14,6 @@ android:orientation="horizontal" tools:ignore="UseCompoundDrawables"> - - - - @@ -71,10 +61,19 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_gravity="center_horizontal" - android:layout_weight="1" - > + android:layout_weight="1"> + + - + لقد طلبت أن يتم فصل iTag. هذا ليس خطيراً ، لن ننسى iTag وسوف تكون قادراً على الاتصال مرة أخرى مع نفس الجانب الجانب. هل تريد حقا أن تفصل iTag؟ الإعدادات اسم - تأخير التنبيه + تأخير التنبيه لا تؤجل 3 sec 5 sec @@ -90,6 +90,6 @@ الاهتزاز عند فقد iTag لا إنذار عند فقد iTag - وضع الباحث عن المفاتيح - وضع التنبيه المفقود + وضع الباحث عن المفاتيح + وضع التنبيه المفقود \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 034ec5c..84b3fad 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -9,7 +9,7 @@ Lanzando con el dedo solicitó que iTag se desconectara.\n\nEsto no es peligroso, el iTag no se olvidará y podrá volver a conectarlo con el mismo lanzamiento de lado a lado.\n\n¿Realmente desea desconectarse? iTag? Esto no es peligroso, el iTag no se olvidará y podrás volver a conectarlo con el mismo lanzamiento de lado a lado.\n\n¿Realmente quieres desconectar el iTag? Configuración de iTag - Retraso de alarma + Retraso de alarma Sin demora 3 sec 5 sec @@ -88,6 +88,6 @@ Alarma cuando iTag perdió Vibración cuando iTag perdió Sin alarma cuando iTag perdió - Modo buscador de claves - Modo de alarma perdido + Modo buscador de claves + Modo de alarma perdido \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f56161c..3a3989a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -8,7 +8,7 @@ L\'appareil sera oublié, êtes-vous sûr? Vous pourrez cependant reconnecter cet appareil et vous en souvenir à tout moment.\n\nOubliez? Paramètres d\'iTag En lançant votre doigt, vous avez demandé que iTag soit déconnecté. Ce n\'est pas dangereux, l\'iTag ne sera pas oublié et vous pourrez le reconnecter avec le même fling côte à côte.\n\nVoulez-vous vraiment déconnecter l\'iTag? - Délai d\'alarme + Délai d\'alarme Nom de iTag Sans délais 3 sec @@ -88,6 +88,6 @@ Alarme quand iTag a perdu Vibration lorsque iTag a perdu Pas d\'alarme quand iTag a perdu - Mode de recherche de clé - Mode d\'alarme perdu + Mode de recherche de clé + Mode d\'alarme perdu \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7130347..d7632fb 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -9,7 +9,7 @@ Lanciando con il dito hai richiesto la disconnessione di iTag.\nQuesto non è pericoloso, l\'iTag non verrà dimenticato e sarai in grado di ricollegarlo con la stessa avventura da lato a lato.\n\nVuoi davvero disconnettere iTag? Impostazioni di iTag Nome di iTag - Ritardo allarme + Ritardo allarme Nessun ritardo 3 sec 5 sec @@ -88,6 +88,6 @@ Allarme quando iTag ha perso Vibrazioni quando iTag ha perso Nessun allarme quando iTag ha perso - Modalità ricerca chiavi - Modalità di allarme perso + Modalità ricerca chiavi + Modalità di allarme perso \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 2b8c9c9..3d8d324 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -8,7 +8,7 @@ Acenando com o dedo, você solicitou que o iTag fosse desconectado.\n\n Configurações de iTag Nome do iTag - Atraso de alarme + Atraso de alarme Sem demora 3 sec 5 sec @@ -87,7 +87,7 @@ Alarme quando a iTag perder Vibração quando a iTag perdeu Nenhum alarme quando a iTag perdeu - Modo localizador de chave - Modo de alarme perdido + Modo localizador de chave + Modo de alarme perdido iTag One \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 2120094..a12e169 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -8,7 +8,7 @@ Этот жест отключит брелок и удалит его из списка. При повторном подключении текущие настройки будут восстановлены. Продолжить отключение? Настроить брелок Название брелка - Задержка тревоги + Задержка тревоги Отсутсвует 3 секунды 5 секунд @@ -90,6 +90,6 @@ Вибрация при потере брелка Нет сигнала при потере брелка - Только поиск брелка - Сигнализировать при утере брелка + Только поиск брелка + Сигнализировать при утере брелка \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bcaef48..1a11f63 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,7 @@ iTag One + Disconnections + Connections Your device has no Bluetooth adapter @@ -11,12 +13,36 @@ Flinging with your finger you requested iTag to be disconnected.\nThis is not dangerous, the iTag will not be forgotten and you will be able to connect it back with the same side-to-side fling.\n\nDo you really want disconnect iTag? iTag\'s settings iTag\'s Name - Alarm delay + Disconnect alarm delay + Connection mode + + Alarm mode + + + Active mode + Passive mode + + + + No delay + 3 sec + 5 sec + 10 sec + + + + No alarm + Alarm when out of range + Alarm when in range + Alarm on both + + No delay 3 sec 5 sec 10 sec The alarm delay will prevent itag from buzzing on very short disconnection. + Active mode will connect to your iTag device when it is in range, while passive mode will only *listen* for iTag\'s broadcasts. Enable/disable Alert on disconnect Scanning for iTags… @@ -49,6 +75,7 @@ Click iTag\'s image to make the tag to ring. %s disconnected + %s connected Click to stop alarm Long Press to Find the iTag @@ -111,6 +138,6 @@ Vibration when iTag lost No alarm when iTag lost - Key finder mode - Lost alarm mode + Mode: Don\'t connect + Mode: Connect diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java index d7ec4a9..339c065 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java @@ -38,6 +38,7 @@ class BLEConnectionDefault implements BLEConnectionInterface { private final Channel clickChannel = new Channel<>(0); private final ChannelDistinct stateChannel = new ChannelDistinct<>(BLEConnectionState.disconnected); private final ChannelDistinct rssiChannel = new ChannelDistinct<>(-999); + BLEConnectionState oldState = null; @Override public boolean isConnected() { @@ -605,6 +606,16 @@ public BLEConnectionState state() { return stateChannel.observable.value(); } + @Override + public BLEConnectionState oldState() { + return oldState; + } + + @Override + public void setOldState(BLEConnectionState oldState){ + this.oldState = oldState; + } + @Override public boolean isAlerting() { return alertChannel.observable.value() != AlertVolume.NO_ALERT; @@ -616,7 +627,7 @@ public boolean isFindMe() { } @Override - public void resetFindeMe() { + public void resetFindMe() { clickChannel.broadcast(0); } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java index e354e86..1cbc0fc 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java @@ -26,7 +26,9 @@ public interface BLEConnectionInterface extends AutoCloseable { int rssi(); int getLastStatus(); BLEConnectionState state(); + void setOldState(BLEConnectionState oldState); + BLEConnectionState oldState(); boolean isAlerting(); boolean isFindMe(); - void resetFindeMe(); + void resetFindMe(); } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java index b7272a4..cdd14c8 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java @@ -62,7 +62,7 @@ public void run() { Log.d(LT, "RSSI runnable id=" + identifier() + " isConnected=" + isConnected()); } if (gatt() != null && isConnected()) { - Log.v(LT, "request RSSI id=" + identifier()); + //Log.v(LT, "request RSSI id=" + identifier()); gatt().readRemoteRssi(); } manager.postOperation(this, RSSI_INTERVAL_MS); @@ -227,7 +227,7 @@ public void onReadRemoteRssi(BluetoothGatt gatt, int rssiRaw, int status) { observables.channelRSSI.broadcast(new BLEPeripheralObservablesInterface.RSSIEvent(rssi, status)); } else { if (BuildConfig.DEBUG) { - Log.v(LT, "onReadRemoteRssi skipped id=" + identifier() + " rssiEnabled=" + rssi + " status=" + status); + //Log.v(LT, "onReadRemoteRssi skipped id=" + identifier() + " rssiEnabled=" + rssi + " status=" + status); } } } @@ -439,7 +439,7 @@ public String address() { public boolean isConnected() { boolean connected = manager.connected(device); if (BuildConfig.DEBUG) { - Log.w(LT, "isConnected, device=" + device.getAddress() + " manager.connected=" + connected); + //Log.w(LT, "isConnected, device=" + device.getAddress() + " manager.connected=" + connected); } BluetoothGatt g = gatt(); if (g == null && connected) { @@ -467,7 +467,7 @@ private BluetoothGatt gatt() { ret = gatt[0]; } if (BuildConfig.DEBUG) { - Log.v(LT, "getGatt null:" + (ret == null ? "yes" : "no") + " id=" + identifier()); + //Log.v(LT, "getGatt null:" + (ret == null ? "yes" : "no") + " id=" + identifier()); } return ret; } From c19463bff24dec10d1cfa4be0729cbdb3f5e761e Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Wed, 10 Apr 2024 21:00:48 +0200 Subject: [PATCH 04/13] Add missing translations --- app/src/main/AndroidManifest.xml | 2 +- app/src/main/java/s4y/itag/ITagsFragment.java | 23 ++++++++++++++++--- app/src/main/java/s4y/itag/MainActivity.java | 8 ++++++- app/src/main/res/layout/itag.xml | 2 +- app/src/main/res/values-ar/strings.xml | 5 ++++ app/src/main/res/values-es/strings.xml | 5 ++++ app/src/main/res/values-fr/strings.xml | 5 ++++ app/src/main/res/values-it/strings.xml | 5 ++++ app/src/main/res/values-pt/strings.xml | 5 ++++ app/src/main/res/values-ru/strings.xml | 5 ++++ app/src/main/res/values/strings.xml | 4 ++-- 11 files changed, 61 insertions(+), 8 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 917f8a6..2987e7e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ - + diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 9b68bb8..17a8e91 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -171,7 +171,7 @@ private void updateLocationImage(@NonNull ViewGroup rootView, @NonNull String id imageLocation.setVisibility(View.GONE); } else { Log.d(LT, "updateLocationImage on:" + id); - imageLocation.startAnimation(mLocationAnimation); + //imageLocation.startAnimation(mLocationAnimation); imageLocation.setVisibility(View.VISIBLE); } } @@ -236,7 +236,7 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu statusTextId = R.string.bt_lost; } else { statusDrawableId = R.drawable.bt_setup; - statusDrawableTint = Color.parseColor("#FFA500"); + statusDrawableTint = Color.parseColor("#FFA500"); // orange if (state == BLEConnectionState.connecting) statusTextId = R.string.bt_connecting; else @@ -335,6 +335,7 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface } Animation animShake = null; + float alpha = 1.0f; if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation isFindMe:" + connection.isFindMe() + @@ -351,7 +352,20 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface connection.isFindMe()); animShake = mITagAnimation;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); } + if(connection.isConnected()){ + alpha = 1.0f; + } else { + alpha = 0.7f; + } final ImageView imageITag = rootView.findViewById(R.id.image_itag); + if (Looper.myLooper() == Looper.getMainLooper()) { + imageITag.setAlpha(alpha); + } else { + float finalAlpha = alpha; + getActivity().runOnUiThread(() -> { + imageITag.setAlpha(finalAlpha); + }); + } if (animShake == null) { if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation: No animations appointed"); @@ -371,7 +385,10 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface imageITag.startAnimation(animShake); } else { final Animation anim = animShake; - getActivity().runOnUiThread(() -> imageITag.startAnimation(anim)); + float finalAlpha = alpha; + getActivity().runOnUiThread(() -> { + imageITag.startAnimation(anim); + }); } } } diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index eb92155..1132a75 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -371,6 +371,8 @@ public void onITagClick(@NonNull View sender) { Notifications.cancelDisconnectNotification(this); Notifications.cancelConnectNotification(this); MediaPlayerUtils.getInstance().stopSound(this); + } else if(!itag.isAlertEnabled()){ + toggleTagConnectivity(itag); } else if (connection.isConnected()) { Log.d("ingo", "connected"); new Thread(() -> { @@ -579,12 +581,16 @@ public void onChangeColor(@NonNull View sender) { popupMenu.show(); } - public void disconnectItag(@NonNull View sender) { + public void connectivityButton(@NonNull View sender) { ITagInterface itag = (ITagInterface) sender.getTag(); if (itag == null) { ITagApplication.handleError(new Exception("No itag")); return; } + toggleTagConnectivity(itag); + } + + public void toggleTagConnectivity(@NonNull ITagInterface itag) { BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); if (itag.isAlertEnabled()) { Log.d("ingo", "disconnectItag yes"); diff --git a/app/src/main/res/layout/itag.xml b/app/src/main/res/layout/itag.xml index a840972..f46021c 100644 --- a/app/src/main/res/layout/itag.xml +++ b/app/src/main/res/layout/itag.xml @@ -156,7 +156,7 @@ android:layout_width="@android:dimen/app_icon_size" android:layout_height="@android:dimen/app_icon_size" android:contentDescription="@string/manage_alert" - android:onClick="disconnectItag" + android:onClick="connectivityButton" android:src="@drawable/keyfinder" /> iTag One + قطع الاتصال + روابط لا يحتوي جهازك على محول Bluetooth إذن المطلوبة بدءًا من نظام Android 6.0 Marshmallow ، يتطلب النظام ترخيصًا للموقع للبحث عن أجهزة بلوتوث LE. @@ -10,6 +12,8 @@ الإعدادات اسم تأخير التنبيه + وضع اتصال + وضع التنبيه لا تؤجل 3 sec 5 sec @@ -36,6 +40,7 @@ انقر نقرًا مزدوجًا على زر iTag للعثور على الهاتف اضغط لفترة طويلة على صورة iTag لجعلها رنانة. انقطع الاتصال %s + متصل %s انقر لإيقاف التنبيه اضغط لفترة طويلة للعثور على iTag ليس لديك أجهزة iTag المتصلة حتى الآن. انقر فوق Scanbutton أعلاه لبدء البحث. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 84b3fad..796b696 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,6 +1,8 @@ iTag One + Desconexiones + Conexiones Su dispositivo no tiene adaptador Bluetooth Se requiere permiso A partir de Android 6.0 Marshmallow, el sistema requiere permiso de ubicación para buscar el dispositivo Bluetooth LE.\n\nTendrá que reiniciar el proceso de escaneo después de otorgar el acceso. @@ -10,6 +12,8 @@ Esto no es peligroso, el iTag no se olvidará y podrás volver a conectarlo con el mismo lanzamiento de lado a lado.\n\n¿Realmente quieres desconectar el iTag? Configuración de iTag Retraso de alarma + Modo de conexión + Modo de alarma Sin demora 3 sec 5 sec @@ -36,6 +40,7 @@ Haga doble clic en el botón de iTag para encontrar el teléfono Haga clic en la imagen de iTag para que suene la etiqueta. %s desconectado + %s conectados Haga clic para detener la alarma Pulsación larga para encontrar el iTag Aún no tiene dispositivos iTag conectados.\n\nHaga clic en el botón Escanear arriba para comenzar a buscar. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 3a3989a..175cb61 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,6 +1,8 @@ iTag One + Déconnexions + Connexions Votre appareil n\'a pas d\'adaptateur Bluetooth Autorisation requise À partir d\'Android 6.0 Marshmallow, le système nécessite une autorisation de localisation pour rechercher un périphérique Bluetooth LE.\nVous devrez redémarrer le processus de scan après avoir donné l\'accès. @@ -10,6 +12,8 @@ En lançant votre doigt, vous avez demandé que iTag soit déconnecté. Ce n\'est pas dangereux, l\'iTag ne sera pas oublié et vous pourrez le reconnecter avec le même fling côte à côte.\n\nVoulez-vous vraiment déconnecter l\'iTag? Délai d\'alarme Nom de iTag + Mode de connexion + Mode alarme Sans délais 3 sec 5 sec @@ -40,6 +44,7 @@ Double-cliquez sur le bouton iTag pour trouver le téléphone Cliquez sur l\'image d\'iTag pour faire sonner l\'étiquette. %s déconnecté + %s connecté Cliquez pour arrêter l\'alarme Appuyez longuement pour trouver l\'iTag Vous n’avez pas encore d’appareil iTag connecté.\n\nCliquez sur le bouton Analyser ci-dessus pour lancer la recherche. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d7632fb..3068c5f 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1,6 +1,8 @@ iTag One + Disconnessioni + Connessioni Il tuo dispositivo non ha un adattatore Bluetooth Autorizzazione richiesta A partire da Android 6.0 Marshmallow il sistema richiede l\'autorizzazione alla localizzazione per cercare il dispositivo Bluetooth LE.\n\nDovrai riavviare il processo di scansione dopo aver concesso l\'accesso. @@ -10,6 +12,8 @@ Impostazioni di iTag Nome di iTag Ritardo allarme + Modalità di connessione + Modalità sveglia Nessun ritardo 3 sec 5 sec @@ -40,6 +44,7 @@ Fare doppio clic sul pulsante di iTag per trovare il telefono Fare clic sull\'immagine di iTag per far squillare il tag. %s disconnesso + %s connesso Fare clic per interrompere l\'allarme Premere a lungo per trovare l\'iTag Non hai ancora dispositivi iTag collegati.\n\nFai clic sul pulsante Scansione sopra per avviare la ricerca. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 3d8d324..d1f7809 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1,5 +1,7 @@ + Desconexões + Conexões Seu dispositivo não tem adaptador Bluetooth Permissão necessária A partir do Android 6.0 Marshmallow, o sistema requer permissão de localização para fazer a varredura do dispositivo Bluetooth LE.\n\nNVocê terá que reiniciar o processo de varredura após conceder o acesso. @@ -9,6 +11,8 @@ Configurações de iTag Nome do iTag Atraso de alarme + Modo de conexão + Modo de alarme Sem demora 3 sec 5 sec @@ -35,6 +39,7 @@ Clique duas vezes no botão da iTag para encontrar o telefone Clique na imagem da iTag para fazer a tag tocar. %s desconectado + %s connected Clique para parar o alarme Pressione e segure para encontrar o iTag Você ainda não tem nenhum dispositivo iTag conectado.\n\nClique no botão Scan acima para iniciar a busca. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a12e169..6fab9e4 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,6 +1,8 @@ iTag One - Ключница + Отключения + Соединения На устройстве отсутствует bluetooth Разрешить Начиная с версии Android 6.0 для использованию Bluetooth устройств необходимо разрешить определять местоположение.\\nВам нужно будет повторить процесс сканирования после того разрешите доступ к датчику положения. @@ -9,6 +11,8 @@ Настроить брелок Название брелка Задержка тревоги + Режим подключения + Режим тревоги Отсутсвует 3 секунды 5 секунд @@ -35,6 +39,7 @@ Двойное нажатие кнопки на брелке для поиска телефона Один клик на изображении брелка для его поиска %s отключен + %s подключено Одно нажатие для выключения сигнала Длинное нажатие для поиска брелка Нет подключенных брелков. Нажмите кнопку сканирования, чтобы начать подключение. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1a11f63..257bcf4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -42,7 +42,7 @@ 5 sec 10 sec The alarm delay will prevent itag from buzzing on very short disconnection. - Active mode will connect to your iTag device when it is in range, while passive mode will only *listen* for iTag\'s broadcasts. + Enable/disable Alert on disconnect Scanning for iTags… @@ -106,7 +106,7 @@ min hr - Stop tracking + Shut down 1 hour Half an hour From 99593ac12c11cf85e7226c0baf41453b98f2d8be Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Thu, 11 Apr 2024 23:02:07 +0200 Subject: [PATCH 05/13] fix translation --- app/src/main/java/s4y/itag/MainActivity.java | 1 + app/src/main/res/values-ar/strings.xml | 6 +++--- app/src/main/res/values-es/strings.xml | 6 +++--- app/src/main/res/values-fr/strings.xml | 6 +++--- app/src/main/res/values-it/strings.xml | 6 +++--- app/src/main/res/values-pt/strings.xml | 6 +++--- app/src/main/res/values-ru/strings.xml | 6 +++--- app/src/main/res/values/strings.xml | 6 +++--- 8 files changed, 22 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 1132a75..ec3de6a 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -600,6 +600,7 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { } else { Log.d("ingo", "disconnectItag no"); ITag.store.setAlert(itag.id(), true); + Log.d("ingo", "isAlertEnabled? it should be: " + itag.isAlertEnabled()); ITag.enableReconnect(itag.id()); ITag.connectAsync(connection); } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 7203da2..5d1e319 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -91,9 +91,9 @@ قطع كتم الصوت - إنذار عند فقد iTag - الاهتزاز عند فقد iTag - لا إنذار عند فقد iTag + إنذار مكبر الصوت + إنذار الاهتزاز + لا إنذار وضع الباحث عن المفاتيح وضع التنبيه المفقود diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 796b696..1a04040 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -90,9 +90,9 @@ perdido desconectando Mudo - Alarma cuando iTag perdió - Vibración cuando iTag perdió - Sin alarma cuando iTag perdió + Alarma de altavoz + Alarma de vibración + Ninguna alarma Modo buscador de claves Modo de alarma perdido \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 175cb61..017e60f 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -90,9 +90,9 @@ Retirez-le Cette action supprimera et désactivera WayToday pour toujours.\n\nLa seule façon de restaurer le suivi est de supprimer et de réinstaller l\'application. Désactiver WayToday - Alarme quand iTag a perdu - Vibration lorsque iTag a perdu - Pas d\'alarme quand iTag a perdu + Alarme haut-parleur + Alarme vibrante + Pas d\'alarme Mode de recherche de clé Mode d\'alarme perdu \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3068c5f..0c68d54 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -90,9 +90,9 @@ Rimuoverlo Questa azione rimuoverà e disabiliterà WayToday per sempre.\nL\'unico modo per ripristinare il tracciamento è rimuovere e reinstallare l\'applicazione. Disabilita WayToday - Allarme quando iTag ha perso - Vibrazioni quando iTag ha perso - Nessun allarme quando iTag ha perso + Allarme dell\'altoparlante + Allarme vibrazione + Nessun allarme Modalità ricerca chiavi Modalità di allarme perso \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index d1f7809..467df9a 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -89,9 +89,9 @@ perdido desconectando Mudo - Alarme quando a iTag perder - Vibração quando a iTag perdeu - Nenhum alarme quando a iTag perdeu + Alarme de alto-falante + Alarme vibratório + Sem alarme Modo localizador de chave Modo de alarme perdido iTag One diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 6fab9e4..bbce3b8 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -91,9 +91,9 @@ отключение Бесшумный режим - Звуковой сигнал при потере брелка - Вибрация при потере брелка - Нет сигнала при потере брелка + Сигнализация динамика + Вибрационная сигнализация + Нет будильника Только поиск брелка Сигнализировать при утере брелка diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 257bcf4..67d9566 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -134,9 +134,9 @@ This action will remove and disable WayToday forever.\n\nThe only way to restore the tracking is removing and re-installing the application. Disable WayToday - Alarm when iTag lost - Vibration when iTag lost - No alarm when iTag lost + Speaker alarm + Vibration alarm + No alarm Mode: Don\'t connect Mode: Connect From adfe683a527d857e1c284f77507ffc5e6f7eddca Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sat, 13 Apr 2024 01:48:08 +0200 Subject: [PATCH 06/13] Allow dark mode --- app/src/main/java/s4y/itag/ITagsFragment.java | 20 +++-- app/src/main/java/s4y/itag/MainActivity.java | 82 +++++++++---------- app/src/main/java/s4y/itag/ScanFragment.java | 16 ++-- app/src/main/java/s4y/itag/itag/ITag.java | 8 +- .../main/java/s4y/itag/itag/ITagDefault.java | 4 +- .../java/s4y/itag/itag/ITagInterface.java | 2 +- .../java/s4y/itag/itag/ITagsStoreDefault.java | 4 +- .../s4y/itag/itag/ITagsStoreInterface.java | 2 +- app/src/main/res/drawable/line_divider.xml | 7 ++ app/src/main/res/layout/activity_main.xml | 1 - .../main/res/layout/fragment_le_scan_item.xml | 1 - app/src/main/res/layout/itag.xml | 3 +- app/src/main/res/layout/itag_0.xml | 8 +- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/values/styles.xml | 2 +- .../itag/ble/BLECentralManagerDefault.java | 3 +- .../s4y/itag/ble/BLEConnectionDefault.java | 1 + .../s4y/itag/ble/BLEPeripheralDefault.java | 3 +- .../java/s4y/itag/ble/BLEPeripheralState.java | 2 +- 19 files changed, 95 insertions(+), 76 deletions(-) create mode 100644 app/src/main/res/drawable/line_divider.xml diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 17a8e91..0f748b1 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -69,7 +69,7 @@ public void updateTags(boolean firstTime){ updateITagImage(rootView, itag); updateITagImageAnimation(rootView, itag, connection); updateName(rootView, itag); - updateAlertButton(rootView, itag.isAlertEnabled(), connection.isConnected()); + updateAlertButton(rootView, itag.isConnectModeEnabled(), connection.isConnected()); } updateRSSI(rootView, connection.rssi()); updateState(rootView, id, connection.state()); @@ -230,17 +230,22 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu case connecting: case disconnecting: ITagInterface itag = ITag.store.byId(id); - if (itag != null && itag.isAlertEnabled()) { + if (itag != null && itag.isConnectModeEnabled()) { statusDrawableId = R.drawable.bt_connecting; statusDrawableTint = Color.RED; statusTextId = R.string.bt_lost; + Log.d("ingo", "it's connecting"); } else { statusDrawableId = R.drawable.bt_setup; statusDrawableTint = Color.parseColor("#FFA500"); // orange - if (state == BLEConnectionState.connecting) + if (state == BLEConnectionState.connecting) { + Log.d("ingo", "it's connecting2"); statusTextId = R.string.bt_connecting; - else + } + else { + Log.d("ingo", "it's disconnecting"); statusTextId = R.string.bt_disconnecting; + } } break; case writting: @@ -320,7 +325,7 @@ private void updateAlertButton(@NonNull String id) { } BLEConnectionInterface connection = ble.connectionById(id); boolean isConnected = connection.isConnected(); - boolean isAlertDisconnected = itag.isAlertEnabled(); + boolean isAlertDisconnected = itag.isConnectModeEnabled(); if (BuildConfig.DEBUG) { Log.d(LT, "id = " + id + " updateAlertButton2 isAlertDisconnected=" + isAlertDisconnected + " isConnected=" + isConnected); } @@ -340,10 +345,11 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation isFindMe:" + connection.isFindMe() + " isAlerting:" + connection.isAlerting() + - " isAlertDisconnected:" + itag.isAlertEnabled() + + " isAlertDisconnected:" + itag.isConnectModeEnabled() + " not connected:" + !connection.isConnected() ); } + Log.d("ingo", "pa trebalo bi"); if (connection.isAlerting() || itag.shakingOnConnectDisconnect() || connection.isFindMe()) { @@ -355,7 +361,7 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface if(connection.isConnected()){ alpha = 1.0f; } else { - alpha = 0.7f; + alpha = 0.3f; } final ImageView imageITag = rootView.findViewById(R.id.image_itag); if (Looper.myLooper() == Looper.getMainLooper()) { diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index ec3de6a..794708f 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -63,6 +63,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d("ingo", "onCreate"); + checkForPermissions(); setupContent(); /* // ATTENTION: This was auto-generated to handle app linksI @@ -126,7 +127,7 @@ protected void onResume() { Log.d("ingo", "onresume"); disposableBag.add(ITag.ble.observableState().subscribe(event -> { Log.d("ingo", "disposableBag.add(ITag.ble.observableState().subscribe"); - //setupContent(); + setupContent(); })); disposableBag.add(ITag.ble.scanner().observableActive().subscribe( event -> { @@ -135,6 +136,7 @@ protected void onResume() { Log.d(LT, "ble.scanner activeEvent=" + event + " isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } setupContent(); + Log.d("ingo", "sad setupamo content jer je skener postao aktivan"); setupProgressBar(); } )); @@ -167,6 +169,7 @@ protected void onPause() { } catch (IllegalArgumentException e) { // ignore } + Log.d("ingo", "disposeamo bag"); disposableBag.dispose(); sIsShown = false; if (ITag.store.isDisconnectAlertOn() || Waytoday.tracker.isUpdating) { @@ -198,18 +201,6 @@ protected void onSaveInstanceState(@NonNull Bundle outState) { //No call for super(). Bug on API Level > 11. issue #54 } - private boolean isFirstLaunch() { - SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE); - return sharedPref.getBoolean("first", true); - } - - private void setNotFirstLaunch() { - SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE); - SharedPreferences.Editor ed = sharedPref.edit(); - ed.putBoolean("first", false); - ed.apply(); - } - private void setupContent() { if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "setupContent isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); @@ -218,10 +209,10 @@ private void setupContent() { setupProgressBar(); Log.d("ingo", "setupContent"); if (ITag.ble.scanner().isScanning()) { - Log.d("ingo", "scanner"); + Log.d("ingo", "scanner is scanning"); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.SCANNER) { - Log.d("ingo", "scanner yes"); + Log.d("ingo", "switch to scanner"); newFragment = new ScanFragment(); mSelectedFragment = FragmentType.SCANNER; } @@ -231,14 +222,13 @@ private void setupContent() { mSelectedFragment = FragmentType.OTHER; } else { if (ITag.ble.state() == BLEState.OK) { - setNotFirstLaunch(); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.ITAGS) { newFragment = new ITagsFragment(); mSelectedFragment = FragmentType.ITAGS; } } else { - if (mEnableAttempts < 60 && isFirstLaunch()) { + if (mSelectedFragment == FragmentType.OTHER && mEnableAttempts < 10) { // already showing "turn on bluetooth" mEnableAttempts++; if (BuildConfig.DEBUG) { Log.d(LT, "setupContent BT disabled, enable attempt=" + mEnableAttempts); @@ -246,7 +236,7 @@ private void setupContent() { if (mEnableAttempts == 1) { Toast.makeText(this, R.string.try_enable_bt, Toast.LENGTH_LONG).show(); } - ITag.ble.enable(); + //ITag.ble.enable(); deprecated and should't do anything because bluetooth should be turned on by user action - click on "turn on bluetooth" button in fragment_ble_disabled try { // A bit against rules but ok in this situation Thread.sleep(500); @@ -371,7 +361,7 @@ public void onITagClick(@NonNull View sender) { Notifications.cancelDisconnectNotification(this); Notifications.cancelConnectNotification(this); MediaPlayerUtils.getInstance().stopSound(this); - } else if(!itag.isAlertEnabled()){ + } else if(!itag.isConnectModeEnabled()){ toggleTagConnectivity(itag); } else if (connection.isConnected()) { Log.d("ingo", "connected"); @@ -380,7 +370,7 @@ public void onITagClick(@NonNull View sender) { }).start(); } else { // TODO: change depending on modes - if (!itag.isAlertEnabled()) { + if (!itag.isConnectModeEnabled()) { // there's no sense to communicate if the connection is in the connecting state ITag.connectAsync(connection, false, () -> { toggleAlertOnITag(connection); @@ -404,27 +394,31 @@ public void onStartStopScan(View ignored) { if (ITag.ble.scanner().isScanning()) { ITag.ble.scanner().stop(); } else { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { - if (shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION)) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.request_location_permission) - .setTitle(R.string.request_permission_title) - .setPositiveButton(android.R.string.ok, (dialog, which) -> requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION)) - .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.cancel()) - .show(); - } else { - // isScanRequestAbortedBecauseOfPermission=true; - requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION); - } - return; - } - } + checkForPermissions(); ITag.ble.scanner().start(ITag.SCAN_TIMEOUT, new String[]{}); Log.d("ingo", "scanner started"); } } + void checkForPermissions(){ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED || checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + if (shouldShowRequestPermissionRationale(Manifest.permission.ACCESS_FINE_LOCATION)) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(R.string.request_location_permission) + .setTitle(R.string.request_permission_title) + .setPositiveButton(android.R.string.ok, (dialog, which) -> requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION)) + .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.cancel()) + .show(); + } else { + // isScanRequestAbortedBecauseOfPermission=true; + requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, MainActivity.REQUEST_ENABLE_LOCATION); + } + return; + } + } + } + public void onAppMenu(@NonNull View sender) { final PopupMenu popupMenu = new PopupMenu(this, sender); popupMenu.inflate(R.menu.app); @@ -592,15 +586,15 @@ public void connectivityButton(@NonNull View sender) { public void toggleTagConnectivity(@NonNull ITagInterface itag) { BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - if (itag.isAlertEnabled()) { + if (itag.isConnectModeEnabled()) { Log.d("ingo", "disconnectItag yes"); - ITag.store.setAlert(itag.id(), false); + ITag.store.setConnectMode(itag.id(), false); ITag.disableReconnect(itag.id()); new Thread(connection::disconnect).start(); } else { Log.d("ingo", "disconnectItag no"); - ITag.store.setAlert(itag.id(), true); - Log.d("ingo", "isAlertEnabled? it should be: " + itag.isAlertEnabled()); + ITag.store.setConnectMode(itag.id(), true); + Log.d("ingo", "isAlertEnabled? it should be: " + itag.isConnectModeEnabled()); ITag.enableReconnect(itag.id()); ITag.connectAsync(connection); } @@ -638,6 +632,7 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten switch (requestCode) { case REQUEST_ENABLE_BT: setupContent(); + Log.d("ingo", "bluetooth enabled"); break; } } @@ -648,10 +643,13 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { switch (requestCode) { case REQUEST_ENABLE_BT: + Log.d("ingo", "onRequestPermissionsResult REQUEST_ENABLE_BT"); setupContent(); break; case REQUEST_ENABLE_LOCATION: - onStartStopScan(null); + Log.d("ingo", "onRequestPermissionsResult REQUEST_ENABLE_LOCATION"); + //onStartStopScan(null); + setupContent(); break; } } @@ -660,6 +658,6 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis public void onOpenBTSettings(View ignored) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); - startActivity(enableBtIntent); + startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } } diff --git a/app/src/main/java/s4y/itag/ScanFragment.java b/app/src/main/java/s4y/itag/ScanFragment.java index a8608c7..f997f56 100644 --- a/app/src/main/java/s4y/itag/ScanFragment.java +++ b/app/src/main/java/s4y/itag/ScanFragment.java @@ -10,7 +10,9 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -43,7 +45,16 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, recyclerView.setLayoutManager(layoutManager); adapter = new Adapter(); + + DividerItemDecoration divider = new DividerItemDecoration( + requireContext(), DividerItemDecoration.VERTICAL + ); + divider.setDrawable( + ContextCompat.getDrawable(requireContext(), R.drawable.line_divider) + ); + recyclerView.setAdapter(adapter); + recyclerView.addItemDecoration(divider); return view; } @@ -186,11 +197,6 @@ public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.btnRemember.setOnClickListener(onClickListener); holder.btnRemember2.setOnClickListener(onClickListener); - if (position % 2 == 1) { - holder.itemView.setBackgroundColor(0xffe0e0e0); - } else { - holder.itemView.setBackgroundColor(Color.TRANSPARENT); - } holder.rssiView.setRssi(scanResult.rssi); if (getActivity() != null && isAdded()) { // issue #38 Fragment not attached to Activity diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index b9773e7..a548bda 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -45,7 +45,7 @@ public static void initITag(Context context) { for (int i = 0; i < store.count(); i++) { ITagInterface itag = store.byPos(i); // TODO: modify so that it doesn't connect in passive mode - if (itag == null || !itag.isAlertEnabled()) continue; + if (itag == null || !itag.isConnectModeEnabled()) continue; BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); connectAsync(connection); enableReconnect(itag.id()); @@ -108,7 +108,7 @@ private static void subscribeDisconnectionsAndConnections() { final ITagInterface itag = store.byPos(i); if (itag == null) continue; BLEConnectionInterface connection = ble.connectionById(itag.id()); - if (itag.isAlertEnabled()){ + if (itag.isConnectModeEnabled()){ disposablesConnections.add(connection.observableState().subscribe(event -> { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " state " + connection.state()); @@ -138,7 +138,7 @@ private static void subscribeDisconnectionsAndConnections() { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost posted, state=" + connection.state()); - if (itag.isAlertEnabled() && !connection.isConnected()) { + if (itag.isConnectModeEnabled() && !connection.isConnected()) { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); alertUser(itag, true); @@ -249,7 +249,7 @@ public void run() { Log.d(LT, "BLE Connect thread connect " + connection.id() + "/" + itag.name() + " " + Thread.currentThread().getName()); } connection.connect(infinity); - } while (!isInterrupted() && itag.isAlertEnabled() && infinity && !connection.isConnected()); + } while (!isInterrupted() && itag.isConnectModeEnabled() && infinity && !connection.isConnected()); // stop sound on connection in any case stopSound(); if (!isInterrupted()) { diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index d5b159d..d5138fa 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -99,7 +99,7 @@ public void setShakingOnConnectDisconnect(@NonNull Boolean shaking) { } @Override - public boolean isAlertEnabled() { + public boolean isConnectModeEnabled() { return alert; } @@ -131,7 +131,7 @@ public void setConnectionMode(TagConnectionMode connectionMode) { @Override public void copyFromTag(@NonNull ITagInterface tag) { name = tag.name(); - alert = tag.isAlertEnabled(); + alert = tag.isConnectModeEnabled(); color = tag.color(); } diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index ae9ef15..f8198db 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -17,7 +17,7 @@ public interface ITagInterface { void setConnectionMode(TagConnectionMode connectionMode); TagConnectionMode connectionMode(); TagAlertMode alertMode(); - boolean isAlertEnabled(); + boolean isConnectModeEnabled(); void setAlert(boolean alert); int alertDelay(); void setAlertDelay(int alarmDelay); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index 6fe297f..66b6204 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -65,7 +65,7 @@ synchronized public int count() { synchronized public boolean isDisconnectAlertOn() { for (String id : ids) { ITagInterface itag = tags.get(id); - if (itag != null && itag.isAlertEnabled()) { + if (itag != null && itag.isConnectModeEnabled()) { return true; } } @@ -206,7 +206,7 @@ synchronized public void setConnectionMode(@NonNull String id, TagConnectionMode } @Override - synchronized public void setAlert(@NonNull String id, boolean alert) { + synchronized public void setConnectMode(@NonNull String id, boolean alert) { ITagInterface tag = tags.get(id); if (tag == null) { return; diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index 89d8c97..37f336b 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -24,7 +24,7 @@ public interface ITagsStoreInterface { void setAlertMode(@NonNull String id, TagAlertMode alertMode); void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking); void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode); - void setAlert(@NonNull String id,boolean alert); + void setConnectMode(@NonNull String id, boolean alert); void setColor(@NonNull String id,@NonNull TagColor color); void setName(@NonNull String id,String name); } diff --git a/app/src/main/res/drawable/line_divider.xml b/app/src/main/res/drawable/line_divider.xml new file mode 100644 index 0000000..6a925bc --- /dev/null +++ b/app/src/main/res/drawable/line_divider.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index e2ce022..e28761f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="?android:attr/colorBackground" android:orientation="vertical" tools:context=".MainActivity"> diff --git a/app/src/main/res/layout/fragment_le_scan_item.xml b/app/src/main/res/layout/fragment_le_scan_item.xml index 9c47bed..2b6e8a6 100644 --- a/app/src/main/res/layout/fragment_le_scan_item.xml +++ b/app/src/main/res/layout/fragment_le_scan_item.xml @@ -25,7 +25,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:onClick="onRemember" android:orientation="vertical"> + android:textAlignment="center"/> + android:layout_height="match_parent" + xmlns:tools="http://schemas.android.com/tools" + tools:context=".MainActivity"> connecting disconnecting lost - yelling + reading/writing linked faint lost diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 64ffe09..eba6355 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ - diff --git a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java index e9c01a4..798498e 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java @@ -87,7 +87,7 @@ public BLEError enable() { if (adapter == null) { return BLEError.noAdapter; } - adapter.enable(); + adapter.enable(); // TODO: deprecated return BLEError.ok; } @@ -110,6 +110,7 @@ public void startScan() { } if (adapter != null) { if (!isScanning(adapter)) { + // TODO: replace with startScan method because startLeScan is deprecated in API 21. startScan also only scans LE devices.https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.bluetooth.le.ScanCallback) adapter.startLeScan(leScanCallback); isScanning = true; } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java index 339c065..6639db2 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java @@ -482,6 +482,7 @@ public BLEError disconnect(int timeoutSec) { ); monitorDisconnect.waitFor(() -> peripheral().disconnect(), timeoutSec); if (monitorDisconnect.isTimedOut()) { + Log.d("ingo", "ble disconnect timeout"); return BLEError.timeout; } lastStatus = monitorDisconnect.payload(); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java index cdd14c8..a7957af 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java @@ -138,6 +138,7 @@ public void onConnectionStateChange(@NonNull BluetoothGatt gatt, int status, int waitForClose(); } } else { + // if status isn't GATT_SUCCESS, it means that connect/disconnect operation failed, possibly due to network problems. gatt.disconnect(); waitForClose(); } @@ -156,7 +157,7 @@ public void onServicesDiscovered(@NonNull final BluetoothGatt gatt, int status) } services = new BLEService[serviceList.size()]; serviceList.toArray(services); - setState(BLEPeripheralState.discovered); + setState(BLEPeripheralState.services_discovered); observables.channelDiscoveredServices.broadcast(new BLEPeripheralObservablesInterface.DiscoveredServicesEvent(services, status)); } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralState.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralState.java index 5a4b574..7f36778 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralState.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralState.java @@ -5,7 +5,7 @@ enum BLEPeripheralState { connecting, connected, discovering, - discovered, + services_discovered, disconnecting, writting, } From dbd1772b45c3bf989e51d1a7dfe51794db1cc41e Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 14 Apr 2024 03:39:21 +0200 Subject: [PATCH 07/13] slowly switching to using bluetooth scanner for reconnects instead of connectGatt --- app/build.gradle | 2 +- app/src/main/java/s4y/itag/ITagsFragment.java | 21 ++++-- app/src/main/java/s4y/itag/MainActivity.java | 36 +++------- app/src/main/java/s4y/itag/itag/ITag.java | 38 ++++------ .../main/java/s4y/itag/itag/ITagDefault.java | 17 ++--- .../java/s4y/itag/itag/ITagInterface.java | 5 +- .../java/s4y/itag/itag/ITagsStoreDefault.java | 11 ++- .../s4y/itag/itag/ITagsStoreInterface.java | 5 +- ...e_itag.xml => shake_itag_indefinitely.xml} | 0 app/src/main/res/anim/shake_itag_once.xml | 8 +++ itagble/build.gradle | 2 +- .../itag/ble/BLECentralManagerDefault.java | 71 ++++++++++++++++--- .../itag/ble/BLECentralManagerInterface.java | 3 +- .../s4y/itag/ble/BLEConnectionDefault.java | 31 +++----- .../s4y/itag/ble/BLEConnectionInterface.java | 3 +- .../main/java/s4y/itag/ble/BLEDefault.java | 6 +- .../java/s4y/itag/ble/BLEDiscoveryResult.java | 4 +- .../s4y/itag/ble/BLEPeripheralDefault.java | 6 +- .../s4y/itag/ble/BLEPeripheralInterace.java | 2 +- .../java/s4y/itag/ble/BLEScannerDefault.java | 2 +- 20 files changed, 151 insertions(+), 122 deletions(-) rename app/src/main/res/anim/{shake_itag.xml => shake_itag_indefinitely.xml} (100%) create mode 100644 app/src/main/res/anim/shake_itag_once.xml diff --git a/app/build.gradle b/app/build.gradle index e74f858..f9dd317 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { defaultConfig { applicationId "s4y.itag" - minSdkVersion 19 + minSdkVersion 21 targetSdkVersion 30 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" buildConfigField "String", "WAYTODAY_SECRET", "\"${System.getenv('WAYTODAY_SECRET') ?: properties.getProperty('waytoday.secret')}\"" diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 0f748b1..c6c9098 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -47,7 +47,8 @@ public class ITagsFragment extends Fragment ITrackIDChangeListener { private static final String LT = ITagsFragment.class.getName(); private Animation mLocationAnimation; - private Animation mITagAnimation; + private Animation mITagAnimationShakeIndefinitely; + private Animation mITagAnimationShakeOnce; private String trackID = ""; private final DisposableBag disposableBag = new DisposableBag(); @@ -332,15 +333,17 @@ private void updateAlertButton(@NonNull String id) { updateAlertButton(view, isAlertDisconnected, isConnected); } + // TODO: RSSI is very delayed, it takes 10 seconds to gradually come to right measure + private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface itag, BLEConnectionInterface connection) { Activity activity = getActivity(); if (activity == null) return; // - if (mITagAnimation == null) { + if (mITagAnimationShakeIndefinitely == null) { return; } Animation animShake = null; - float alpha = 1.0f; + float alpha; if (BuildConfig.DEBUG) { Log.d(LT, "updateITagImageAnimation isFindMe:" + connection.isFindMe() + @@ -351,12 +354,15 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface } Log.d("ingo", "pa trebalo bi"); if (connection.isAlerting() || - itag.shakingOnConnectDisconnect() || + itag.isShaking() || connection.isFindMe()) { Log.d("ingo", "updateITagImageAnimation " + connection.isAlerting() + " " + - itag.shakingOnConnectDisconnect() + " " + + itag.isShaking() + " " + connection.isFindMe()); - animShake = mITagAnimation;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); + animShake = mITagAnimationShakeIndefinitely;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); + } + if(connection.observableClick().value() == 1){ + animShake = mITagAnimationShakeOnce; } if(connection.isConnected()){ alpha = 1.0f; @@ -446,7 +452,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, // Inflate the layout for this fragment mLocationAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.shadow_location); - mITagAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); + mITagAnimationShakeIndefinitely = AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag_indefinitely); + mITagAnimationShakeOnce = AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag_once); Context context = getContext(); if (context != null) { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 794708f..875759d 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -6,7 +6,6 @@ import android.bluetooth.BluetoothAdapter; import android.content.ActivityNotFoundException; import android.content.ComponentName; -import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; @@ -41,6 +40,7 @@ import s4y.itag.itag.ITag; import s4y.itag.itag.ITagInterface; import s4y.itag.itag.TagColor; +import s4y.itag.itag.TagConnectionMode; import s4y.itag.waytoday.Waytoday; import solutions.s4y.rasat.DisposableBag; import solutions.s4y.waytoday.sdk.errors.ErrorsObservable; @@ -350,10 +350,10 @@ public void onITagClick(@NonNull View sender) { if (connection.isFindMe()) { // iTag contacting phone connection.resetFindMe(); - } else if(itag.shakingOnConnectDisconnect()) { + } else if(itag.isShaking()) { ITag.store.setShakingOnConnectDisconnect(itag.id(), false); Log.d("ingo", "did it"); - // TODO: check if fragments needs updating + // TODO: check if fragment needs updating if(isItagsFragmentShown()) { Log.d("ingo", "isItagsFragmentShown true"); ((ITagsFragment) fragment2).updateITagImageAnimation(itag, connection); @@ -369,13 +369,9 @@ public void onITagClick(@NonNull View sender) { toggleAlertOnITag(connection); }).start(); } else { - // TODO: change depending on modes - if (!itag.isConnectModeEnabled()) { - // there's no sense to communicate if the connection is in the connecting state - ITag.connectAsync(connection, false, () -> { - toggleAlertOnITag(connection); - }); - } + Log.e("ingo", "device NOT connected and connectivity is enabled"); + // nothing here is needed since scanner will connect to the device once the device is discovered + connection.connect(); // TODO: remove this } } @@ -588,29 +584,17 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); if (itag.isConnectModeEnabled()) { Log.d("ingo", "disconnectItag yes"); - ITag.store.setConnectMode(itag.id(), false); + ITag.store.setConnectMode(itag.id(), TagConnectionMode.dontConnect); ITag.disableReconnect(itag.id()); new Thread(connection::disconnect).start(); } else { Log.d("ingo", "disconnectItag no"); - ITag.store.setConnectMode(itag.id(), true); + ITag.store.setConnectMode(itag.id(), TagConnectionMode.connect); Log.d("ingo", "isAlertEnabled? it should be: " + itag.isConnectModeEnabled()); ITag.enableReconnect(itag.id()); - ITag.connectAsync(connection); + connection.connect(); + //ITag.connectAsync(connection); } - /*if (itag.isAlertEnabled()) { - //Toast.makeText(this, R.string.mode_alertdisconnect, Toast.LENGTH_SHORT).show(); - if(isItagsFragmentShown()) { - ((ITagsFragment) fragment2).updateModeTextView(itag.id(), "Alert enabled"); - } - ITagApplication.faUnmuteTag(); - } else { - //Toast.makeText(this, R.string.mode_keyfinder, Toast.LENGTH_SHORT).show(); - if(isItagsFragmentShown()) { - ((ITagsFragment) fragment2).updateModeTextView(itag.id(), "Alert disabled"); - } - ITagApplication.faMuteTag(); - }*/ } public void onSetName(@NonNull View sender) { diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index a548bda..3e95e2c 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -1,6 +1,7 @@ package s4y.itag.itag; import android.content.Context; +import android.os.Build; import android.os.Handler; import android.os.Looper; import android.util.Log; @@ -40,33 +41,22 @@ public class ITag { private static final Map connectionBags = new HashMap<>(); public static void initITag(Context context) { - ble = BLEDefault.shared(context); store = new ITagsStoreDefault(ITagApplication.context); + ble = BLEDefault.shared(context, store.getIds()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + Log.d("ingo", "dadarata"); + } for (int i = 0; i < store.count(); i++) { ITagInterface itag = store.byPos(i); // TODO: modify so that it doesn't connect in passive mode if (itag == null || !itag.isConnectModeEnabled()) continue; BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - connectAsync(connection); - enableReconnect(itag.id()); + connection.connect(); + //enableReconnect(itag.id()); } subscribeDisconnectionsAndConnections(); disposables.add(store.observable().subscribe(event -> { Log.d("ingo", "disposables.add(store.observable().subscribe(event -> { " + event.op); - /*ITagInterface itag = event.tag; - boolean reconnect = store.remembered(itag.id()) && itag.isAlertOnDisconnectEnabled(); - BLEConnectionInterface connection = ble.connectionById(itag.id()); - if (reconnect) { - enableReconnect(itag.id()); - if (!connection.isConnected()) { - connectAsync(connection); - } - } else { - disableReconnect(itag.id()); - if (connection.isConnected()) { - new Thread(() -> connection.disconnect(BLE_TIMEOUT)).start(); - } - }*/ subscribeDisconnectionsAndConnections(); })); @@ -150,9 +140,7 @@ private static void subscribeDisconnectionsAndConnections() { Log.d(LT, "connection " + connection.id() + " restored"); // TODO: play sound if connection restore alert is enabled if((itag.alertMode() == TagAlertMode.alertOnConnect || itag.alertMode() == TagAlertMode.alertOnBoth)){ - //if(MediaPlayerUtils.getInstance().isSound()){ - alertUser(itag, false); - //} + alertUser(itag, false); }/* else { stopSound(); cancelDisconnectNotification(ITagApplication.context); @@ -163,9 +151,12 @@ private static void subscribeDisconnectionsAndConnections() { )); } disposablesConnections.add(connection.observableClick().subscribe(click -> { + Log.d("ingo", "Clicks: " + click); if (click != 0 && connection.isAlerting()) { + Log.d("ingo", "click first case"); new Thread(() -> connection.writeImmediateAlert(AlertVolume.NO_ALERT, ITag.BLE_TIMEOUT)).start(); } else { + Log.d("ingo", "click second case"); if (connection.isFindMe() && !MediaPlayerUtils.getInstance().isSound()) { MediaPlayerUtils.getInstance().startFindPhone(ITagApplication.context); } else { @@ -184,7 +175,7 @@ static void stopSound(){ private static void alertUser(ITagInterface itag, Boolean disconnected) { Log.d("ingo", "setShakingOnConnectDisconnect(true)"); - itag.setShakingOnConnectDisconnect(true); + itag.setShaking(true); int volume = new VolumePreference(ITagApplication.context).get(); if (volume == VolumePreference.LOUD) { MediaPlayerUtils.getInstance().startSoundConnectedDisconnected(ITagApplication.context, disconnected); @@ -217,6 +208,7 @@ static void connectAsync(final BLEConnectionInterface connection, Runnable onCom @SuppressWarnings("SameParameterValue") public static void connectAsync(final BLEConnectionInterface connection, boolean infinity, Runnable onComplete) { + // TODO: this should be completely removed since we want to use bluetooth scanner to scan the device and then connect to it synchronized (asyncConnections) { if (asyncConnections.containsKey(connection.id())) { return; @@ -248,7 +240,7 @@ public void run() { if (BuildConfig.DEBUG) { Log.d(LT, "BLE Connect thread connect " + connection.id() + "/" + itag.name() + " " + Thread.currentThread().getName()); } - connection.connect(infinity); + connection.connect(); } while (!isInterrupted() && itag.isConnectModeEnabled() && infinity && !connection.isConnected()); // stop sound on connection in any case stopSound(); @@ -279,7 +271,7 @@ public static void enableReconnect(String id) { reconnectListeners.put(id, connection.observableState() .subscribe(state -> { if (BLEConnectionState.disconnected.equals(state)) { - connectAsync(connection); + //connectAsync(connection); } })); } diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index d5138fa..cd4f13e 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -21,7 +21,6 @@ public class ITagDefault implements ITagInterface, Serializable { private String name; @NonNull private TagColor color; - private boolean alert; private TagAlertMode alertMode; private TagConnectionMode connectionMode; private int alertDelay; @@ -34,7 +33,6 @@ public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor this.alertMode = alertMode == null ? TagAlertMode.alertOnDisconnect : alertMode; this.connectionMode = connectionMode == null ? TagConnectionMode.connect : connectionMode; Log.d("ingo", "we set mode to " + alertMode); - this.alert = alert == null ? false : alert; this.alertDelay = alertDelay == null ? 5: alertDelay; } @@ -78,7 +76,7 @@ public TagAlertMode alertMode() { @NonNull @Override - public Boolean shakingOnConnectDisconnect() { + public Boolean isShaking() { return shakingOnConnectDisconnect; } @@ -94,18 +92,13 @@ public void setColor(@NonNull TagColor color) { } @Override - public void setShakingOnConnectDisconnect(@NonNull Boolean shaking) { + public void setShaking(@NonNull Boolean shaking) { this.shakingOnConnectDisconnect = shaking; } @Override public boolean isConnectModeEnabled() { - return alert; - } - - @Override - public void setAlert(boolean alert) { - this.alert = alert; + return connectionMode == TagConnectionMode.connect; } @Override @@ -131,7 +124,7 @@ public void setConnectionMode(TagConnectionMode connectionMode) { @Override public void copyFromTag(@NonNull ITagInterface tag) { name = tag.name(); - alert = tag.isConnectModeEnabled(); + connectionMode = tag.connectionMode(); color = tag.color(); } @@ -142,7 +135,7 @@ public Map toDict() { put("id", id); put("name", name); put("color", color); - put("alert", alert); + put("connectionMode", connectionMode); }}; } } diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index f8198db..95ac24f 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -9,16 +9,15 @@ public interface ITagInterface { String id(); String name(); void setName(String name); - Boolean shakingOnConnectDisconnect(); + Boolean isShaking(); TagColor color(); void setColor(TagColor color); - void setShakingOnConnectDisconnect(Boolean currentlyShaking); + void setShaking(Boolean currentlyShaking); void setAlertMode(TagAlertMode alertMode); void setConnectionMode(TagConnectionMode connectionMode); TagConnectionMode connectionMode(); TagAlertMode alertMode(); boolean isConnectModeEnabled(); - void setAlert(boolean alert); int alertDelay(); void setAlertDelay(int alarmDelay); void copyFromTag(ITagInterface tag); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index 66b6204..0d0d274 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -189,7 +189,7 @@ synchronized public void setShakingOnConnectDisconnect(@NonNull String id, Boole if (tag == null) { return; } - tag.setShakingOnConnectDisconnect(shaking); + tag.setShaking(shaking); //new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); channel.broadcast(new StoreOp(StoreOpType.change, tag)); } @@ -206,12 +206,12 @@ synchronized public void setConnectionMode(@NonNull String id, TagConnectionMode } @Override - synchronized public void setConnectMode(@NonNull String id, boolean alert) { + synchronized public void setConnectMode(@NonNull String id, TagConnectionMode connectionMode) { ITagInterface tag = tags.get(id); if (tag == null) { return; } - tag.setAlert(alert); + tag.setConnectionMode(connectionMode); new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); channel.broadcast(new StoreOp(StoreOpType.change, tag)); } @@ -237,4 +237,9 @@ synchronized public void setName(@NonNull String id, String name) { new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); channel.broadcast(new StoreOp(StoreOpType.change, tag)); } + + @Override + synchronized public List getIds() { + return this.ids; + } } diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index 37f336b..9ba47e5 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -3,6 +3,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import java.util.List; + import solutions.s4y.rasat.Observable; public interface ITagsStoreInterface { @@ -24,7 +26,8 @@ public interface ITagsStoreInterface { void setAlertMode(@NonNull String id, TagAlertMode alertMode); void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking); void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode); - void setConnectMode(@NonNull String id, boolean alert); + void setConnectMode(@NonNull String id, TagConnectionMode connectionMode); void setColor(@NonNull String id,@NonNull TagColor color); void setName(@NonNull String id,String name); + List getIds(); } diff --git a/app/src/main/res/anim/shake_itag.xml b/app/src/main/res/anim/shake_itag_indefinitely.xml similarity index 100% rename from app/src/main/res/anim/shake_itag.xml rename to app/src/main/res/anim/shake_itag_indefinitely.xml diff --git a/app/src/main/res/anim/shake_itag_once.xml b/app/src/main/res/anim/shake_itag_once.xml new file mode 100644 index 0000000..8c41432 --- /dev/null +++ b/app/src/main/res/anim/shake_itag_once.xml @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/itagble/build.gradle b/itagble/build.gradle index 2df7ac3..ea1ab05 100644 --- a/itagble/build.gradle +++ b/itagble/build.gradle @@ -5,7 +5,7 @@ android { buildToolsVersion "30.0.2" defaultConfig { - minSdkVersion 19 + minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" diff --git a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java index 798498e..e0545d2 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java @@ -3,30 +3,48 @@ import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; +import android.bluetooth.le.ScanCallback; +import android.bluetooth.le.ScanFilter; +import android.bluetooth.le.ScanResult; +import android.bluetooth.le.ScanSettings; import android.content.Context; +import android.os.Build; import android.os.Handler; import android.os.HandlerThread; import android.util.Log; import androidx.annotation.NonNull; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import static android.bluetooth.BluetoothProfile.GATT; import static android.bluetooth.BluetoothProfile.STATE_CONNECTED; +import static android.bluetooth.le.ScanSettings.MATCH_MODE_AGGRESSIVE; +import static android.bluetooth.le.ScanSettings.SCAN_MODE_BALANCED; +import static android.bluetooth.le.ScanSettings.SCAN_MODE_LOW_LATENCY; class BLECentralManagerDefault implements BLECentralManagerInterface, AutoCloseable { private static final String L = BLECentralManagerDefault.class.getName(); private final Context context; + private final List devices_ids; private final HandlerThread operationsThread = new HandlerThread("BLE Central Manager operations"); private final Handler operationsHandler; private final Map scanned = new HashMap<>(); private final BLECentralManagerObservables observables = new BLECentralManagerObservables(); - private final BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() { + + private final ScanCallback scanCallback = new ScanCallback() { @Override - public void onLeScan(BluetoothDevice bluetoothDevice, int rssi, byte[] data) { + public void onScanResult(int callbackType, ScanResult result) { + super.onScanResult(callbackType, result); + BluetoothDevice bluetoothDevice = result.getDevice(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + Log.d("ingo", "result.isLegacy() " + result.getDevice().getName() + ": " + result.isLegacy()); + } + int rssi = result.getRssi(); if (BuildConfig.DEBUG) { Log.d(L,"onLeScan address="+bluetoothDevice.getAddress()+" rsss="+ rssi + " thread="+Thread.currentThread().getName()); } @@ -42,14 +60,24 @@ public void onLeScan(BluetoothDevice bluetoothDevice, int rssi, byte[] data) { .observablePeripheralDiscovered .broadcast(new BLEDiscoveryResult( peripheral, - rssi, - data + rssi )); } + + @Override + public void onBatchScanResults(List results) { + super.onBatchScanResults(results); + } + + @Override + public void onScanFailed(int errorCode) { + super.onScanFailed(errorCode); + } }; - BLECentralManagerDefault(Context context) { + BLECentralManagerDefault(Context context, List devices_ids) { this.context = context; + this.devices_ids = devices_ids; operationsThread.start(); operationsHandler = new Handler(operationsThread.getLooper()); } @@ -102,16 +130,39 @@ public boolean isScanning() { return adapter != null && isScanning; } - public void startScan() { + public void startScanForNewDevices(){ + startScan(true); + } + + public void startScan(boolean newDevices) { + // TODO: For apps targeting Build.VERSION_CODES#S or or higher, this requires the Manifest.permission#BLUETOOTH_SCAN permission which can be gained with Activity.requestPermissions(String[], int). scanned.clear(); BluetoothAdapter adapter = getAdapter(); if (BuildConfig.DEBUG) { Log.d(L,"startLeScan, thread="+Thread.currentThread().getName()+", adapter="+(adapter==null?"null":"not null")); } - if (adapter != null) { + if (adapter != null && adapter.getBluetoothLeScanner() != null) { if (!isScanning(adapter)) { - // TODO: replace with startScan method because startLeScan is deprecated in API 21. startScan also only scans LE devices.https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.bluetooth.le.ScanCallback) - adapter.startLeScan(leScanCallback); + // replaced with startScan method because startLeScan is deprecated in API 21. startScan also only scans LE devices. https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.bluetooth.le.ScanCallback) + if(!newDevices) { + List scanFilters = new ArrayList<>(); + for(String device_id : devices_ids){ + ScanFilter scanFilter = new ScanFilter.Builder().setDeviceAddress(device_id).build(); + scanFilters.add(scanFilter); + } + ScanSettings.Builder scanSettings = new ScanSettings.Builder(); + scanSettings.setScanMode(SCAN_MODE_BALANCED); // or SCAN_MODE_LOW_POWER to consume less power + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + scanSettings.setMatchMode(MATCH_MODE_AGGRESSIVE); // In Aggressive mode, hw will determine a match sooner even with feeble signal strength and few number of sightings/match in a duration. + } + adapter.getBluetoothLeScanner().startScan(scanFilters, scanSettings.build(), scanCallback); + } else { + ScanSettings.Builder scanSettings = new ScanSettings.Builder(); + scanSettings.setScanMode(SCAN_MODE_LOW_LATENCY); + scanSettings.setReportDelay(0); + Log.d("ingo", "je adapter nula? " + String.valueOf(adapter.getBluetoothLeScanner() == null)); + adapter.getBluetoothLeScanner().startScan(new ArrayList(), scanSettings.build(), scanCallback); + } isScanning = true; } } @@ -125,7 +176,7 @@ public void stopScan() { } if (isScanning(adapter)) { try { - adapter.stopLeScan(leScanCallback); + adapter.getBluetoothLeScanner().stopScan(scanCallback); }catch (NullPointerException ignored) { } diff --git a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerInterface.java b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerInterface.java index b543669..94be2f9 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerInterface.java @@ -5,7 +5,8 @@ import androidx.annotation.NonNull; interface BLECentralManagerInterface { - void startScan(); + void startScanForNewDevices(); + void startScan(boolean newDevices); boolean isScanning(); void stopScan(); boolean canScan(); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java index 6639db2..4c590e1 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java @@ -132,7 +132,7 @@ private void setPeripheral(@Nullable BLEPeripheralInterace peripheral) { } @Override - public BLEError connect(boolean infinity) { + public BLEError connect() { clickChannel.broadcast(0); alertChannel.broadcast(AlertVolume.NO_ALERT); @@ -162,18 +162,8 @@ public BLEError connect(boolean infinity) { BLEError error = waitForScan(); // waitForScan will set the peripheral if can if (peripheral() == null) { - if (infinity) { - if (BuildConfig.DEBUG) Log.d(LT, "Scan failed no peripheral, will try again"); - try { - //noinspection BusyWait - Thread.sleep(10000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } else { - if (BuildConfig.DEBUG) Log.d(LT, "Scan failed no peripheral, will abort"); - return BLEError.ok.equals(error) ? BLEError.noPeripheral : error; - } + if (BuildConfig.DEBUG) Log.d(LT, "Scan failed no peripheral, will abort"); + return BLEError.ok.equals(error) ? BLEError.noPeripheral : error; } else { if (BuildConfig.DEBUG) Log.d(LT, "Scan got peripheral, will connect"); } @@ -181,7 +171,7 @@ public BLEError connect(boolean infinity) { // connect as soon as a peripheral scanned if (BuildConfig.DEBUG) Log.d(LT, "Attempt to connect. Scan run: " + (scan ? "yes" : "no")); - BLEError error = waitForConnect(infinity); + BLEError error = waitForConnect(); // TODO: don't connect if in passive mode if (!BLEError.ok.equals(error) || !isConnected()) { if (BuildConfig.DEBUG) Log.d(LT, "Attempt to connect failed"); stateChannel.broadcast(BLEConnectionState.disconnected); @@ -266,7 +256,7 @@ private void assertPeripheral() { private final ThreadWait monitorConnect = new ThreadWait<>(); @SuppressWarnings("UnusedReturnValue") - private BLEError waitForConnect(boolean auto) { + private BLEError waitForConnect() { if (peripheral() == null) return BLEError.noPeripheral; @@ -299,7 +289,7 @@ private BLEError waitForConnect(boolean auto) { if (BuildConfig.DEBUG) { Log.d(LT, "Start wait for connect " + Thread.currentThread().getName()); } - monitorConnect.waitFor(() -> peripheral().connect(auto), auto ? 0 : 35); + monitorConnect.waitFor(() -> peripheral().connect(), 0); Log.d(LT, "End wait for connect"); disposables.dispose(); if (isConnected()) { @@ -394,7 +384,7 @@ private BLEError waitForScan() { } }) ); - monitorScan.waitFor(manager::startScan, 25); + monitorScan.waitFor(manager::startScanForNewDevices, 25); manager.stopScan(); if (monitorScan.isTimedOut()) { return BLEError.timeout; @@ -415,6 +405,7 @@ private class ClickHandler { synchronized (this) { c = count; count = 0; + if(c == 1) return; } clickChannel.broadcast(c); }; @@ -426,16 +417,12 @@ private synchronized void inc() { synchronized void handleClick() { clickHandler.removeCallbacks(BLEConnectionDefault.this.clickHandler.waitNext); inc(); + if(count == 1) clickChannel.broadcast(1); Log.d(LT, "ClickHandler.handleClick postDelayed"); clickHandler.postDelayed(BLEConnectionDefault.this.clickHandler.waitNext, CLICK_INTERVAL); } } - @Override - public BLEError connect() { - return connect(true); - } - @Override public BLEError disconnect(int timeoutSec) { clickChannel.broadcast(0); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java index 1cbc0fc..6578e39 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java @@ -14,10 +14,9 @@ public interface BLEConnectionInterface extends AutoCloseable { String id(); boolean isConnected(); boolean isDisconnected(); - BLEError connect() throws InterruptedException; + BLEError connect(); BLEError disconnect(int timeout); BLEError disconnect(); - BLEError connect(boolean infinity); BLEError writeImmediateAlert(AlertVolume volume, int timeout); BLEError writeImmediateAlert(AlertVolume volume); void enableRSSI(); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEDefault.java index de5ce05..0bd0db7 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEDefault.java @@ -9,7 +9,9 @@ import androidx.annotation.NonNull; +import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import solutions.s4y.rasat.ChannelDistinct; @@ -19,12 +21,12 @@ public class BLEDefault implements BLEInterface { private static final String LT = BLEDefault.class.getName(); private static BLEInterface _shared; - public static BLEInterface shared(Context context) { + public static BLEInterface shared(Context context, List devices_ids) { if (_shared == null) { _shared = new BLEDefault( context, new BLEConnectionFactoryDefault(), - new BLECentralManagerDefault(context), + new BLECentralManagerDefault(context, devices_ids), new BLEScannerFactoryDefault() ); } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEDiscoveryResult.java b/itagble/src/main/java/s4y/itag/ble/BLEDiscoveryResult.java index 4fad87d..2e1d369 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEDiscoveryResult.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEDiscoveryResult.java @@ -3,11 +3,9 @@ class BLEDiscoveryResult { public final BLEPeripheralInterace peripheral; public final int rssi; - public final byte[] data; - BLEDiscoveryResult(BLEPeripheralInterace peripheral, int rssi, byte[] data) { + BLEDiscoveryResult(BLEPeripheralInterace peripheral, int rssi) { this.peripheral = peripheral; this.rssi = rssi; - this.data = data; } } diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java index a7957af..e1b64c2 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java @@ -89,7 +89,7 @@ public String identifier() { @Override - public void connect(boolean auto) { + public void connect() { if (BuildConfig.DEBUG) { Log.d(LT, "connect id=" + identifier()); } @@ -103,9 +103,9 @@ public void connect(boolean auto) { setState(BLEPeripheralState.connecting); BluetoothGatt g; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - g = device.connectGatt(context, auto, callback, TRANSPORT_LE); + g = device.connectGatt(context, false, callback, TRANSPORT_LE); } else { - g = device.connectGatt(context, auto, callback); + g = device.connectGatt(context, false, callback); } if (BuildConfig.DEBUG) { Log.d(LT, "init gatt id=" + identifier() + " gatt is null: " + (g == null ? "yes" : "no") + " id=" + identifier()); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralInterace.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralInterace.java index 860456b..7a092ba 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralInterace.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralInterace.java @@ -10,7 +10,7 @@ interface BLEPeripheralInterace extends AutoCloseable { BLEPeripheralObservablesInterface observables(); - void connect(boolean auto); + void connect(); void disconnect(); void discoveryServices(); BLEError writeInt8(BLECharacteristic characteristic, int value); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java index 066e80e..f18b746 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java @@ -75,7 +75,7 @@ public void start(int timeout, String[] forceCancelIds) { event -> channelScan.broadcast(new BLEScanResult(event.peripheral.address(), event.peripheral.name(), event.rssi)) )); setScanning(true); - manager.startScan(); + manager.startScan(true); channelTimer.broadcast(timeout); channelActive.broadcast(true); handlerTimer.postDelayed(runnableTimer, 1000); From 4cf4400528a07ae0323c2463a8a019cd4268b1f4 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 14 Apr 2024 15:15:57 +0200 Subject: [PATCH 08/13] add onLongClick on iTag's image and touch animation --- app/src/main/java/s4y/itag/ITagImageView.java | 74 +++++++++++++++++ app/src/main/java/s4y/itag/ITagsFragment.java | 81 ++++++++++++------- app/src/main/java/s4y/itag/ITagsService.java | 4 +- app/src/main/java/s4y/itag/MainActivity.java | 13 ++- app/src/main/java/s4y/itag/itag/ITag.java | 11 ++- .../res/drawable/circular_progress_bar.xml | 23 ++++++ app/src/main/res/drawable/reconnect_off.xml | 51 ++++++++++++ app/src/main/res/drawable/reconnect_on.xml | 51 ++++++++++++ app/src/main/res/layout/itag.xml | 31 ++++--- app/src/main/res/values/strings.xml | 1 + .../s4y/itag/ble/BLEConnectionDefault.java | 8 +- .../s4y/itag/ble/BLEConnectionInterface.java | 2 +- .../s4y/itag/ble/BLEPeripheralDefault.java | 5 +- 13 files changed, 300 insertions(+), 55 deletions(-) create mode 100644 app/src/main/res/drawable/circular_progress_bar.xml create mode 100644 app/src/main/res/drawable/reconnect_off.xml create mode 100644 app/src/main/res/drawable/reconnect_on.xml diff --git a/app/src/main/java/s4y/itag/ITagImageView.java b/app/src/main/java/s4y/itag/ITagImageView.java index 27ed802..c4a29d2 100644 --- a/app/src/main/java/s4y/itag/ITagImageView.java +++ b/app/src/main/java/s4y/itag/ITagImageView.java @@ -1,13 +1,22 @@ package s4y.itag; +import android.animation.ObjectAnimator; import android.content.Context; +import android.os.Handler; +import android.os.Looper; import android.util.AttributeSet; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatImageView; public class ITagImageView extends AppCompatImageView { + private static final String LT = ITagImageView.class.getName(); + public ITagImageView(Context context) { super(context); } @@ -20,4 +29,69 @@ public ITagImageView(Context context, @Nullable AttributeSet attrs, int defStyle super(context, attrs, defStyleAttr); } + private static final int CLICK_INTERVAL = ViewConfiguration.getLongPressTimeout(); + + private final android.os.Handler clickHandler = new Handler(Looper.getMainLooper()); + private final Runnable waitNext = () -> { + isLongPress = true; + Log.d(LT, "waitNext called"); + }; + + boolean isLongPress = false; + + @Override + public boolean onTouchEvent(MotionEvent event) { + super.onTouchEvent(event); + + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + clickHandler.postDelayed(waitNext, CLICK_INTERVAL); + Log.d(LT, "action down"); + startScaleAnimation(this); + return true; + case MotionEvent.ACTION_UP: + clickHandler.removeCallbacks(waitNext); + cancelScaleAnimation(this); + Log.d(LT, "callbacks removed"); + if(isLongPress){ + //performLongClick(); + Log.d(LT, "is longpress"); + isLongPress = false; + } else { + Log.d(LT, "call performClick"); + } + return true; + } + return false; + } + + // Because we call this from onTouchEvent, this code will be executed for both + // normal touch events and for when the system calls this using Accessibility + @Override + public boolean performClick() { + super.performClick(); + Log.d(LT, "super.performClick()"); + return true; + } + + private void startScaleAnimation(View view) { + ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(view, "scaleX", 0.8f); + ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(view, "scaleY", 0.8f); + scaleDownX.setDuration(150); + scaleDownY.setDuration(150); + + scaleDownX.start(); + scaleDownY.start(); + } + + private void cancelScaleAnimation(View view) { + ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(view, "scaleX", 1.0f); + ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(view, "scaleY", 1.0f); + scaleDownX.setDuration(150); + scaleDownY.setDuration(150); + + scaleDownX.start(); + scaleDownY.start(); + } + } diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index c6c9098..85ea2af 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -1,5 +1,7 @@ package s4y.itag; +import android.animation.ObjectAnimator; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; @@ -9,11 +11,13 @@ import android.os.Looper; import android.util.Log; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; +import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -221,32 +225,39 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu int statusDrawableId; int statusDrawableTint = Color.BLACK; int statusTextId; + boolean progressBar = false; if (ble.state() == BLEState.OK) { + ITagInterface itag = ITag.store.byId(id); switch (state) { case connected: statusDrawableId = R.drawable.bt; statusDrawableTint = Color.GREEN; statusTextId = R.string.bt; break; - case connecting: - case disconnecting: - ITagInterface itag = ITag.store.byId(id); + case disconnected: if (itag != null && itag.isConnectModeEnabled()) { statusDrawableId = R.drawable.bt_connecting; statusDrawableTint = Color.RED; - statusTextId = R.string.bt_lost; - Log.d("ingo", "it's connecting"); + statusTextId = R.string.bt_disconnected; + Log.d("ingo", "disconnected"); } else { - statusDrawableId = R.drawable.bt_setup; - statusDrawableTint = Color.parseColor("#FFA500"); // orange - if (state == BLEConnectionState.connecting) { - Log.d("ingo", "it's connecting2"); - statusTextId = R.string.bt_connecting; - } - else { - Log.d("ingo", "it's disconnecting"); - statusTextId = R.string.bt_disconnecting; - } + statusDrawableId = R.drawable.bt_disabled; + statusDrawableTint = Color.LTGRAY; + statusTextId = R.string.bt_disabled; + } + break; + case disconnecting: + case connecting: + progressBar = true; + statusDrawableId = R.drawable.bt_setup; + statusDrawableTint = Color.parseColor("#FFA500"); // orange + if (state == BLEConnectionState.connecting) { + Log.d("ingo", "it's connecting2"); + statusTextId = R.string.bt_connecting; + } + else { + Log.d("ingo", "it's disconnecting"); + statusTextId = R.string.bt_disconnecting; } break; case writting: @@ -254,18 +265,22 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu statusDrawableId = R.drawable.bt_call; statusTextId = R.string.bt_call; break; - case disconnected: default: statusDrawableId = R.drawable.bt_disabled; statusDrawableTint = Color.LTGRAY; statusTextId = R.string.bt_disabled; } + final ProgressBar progressBarView = rootView.findViewById(R.id.progressBar); + if(progressBar){ + progressBarView.setVisibility(View.VISIBLE); + } else { + progressBarView.setVisibility(View.GONE); + } } else { statusDrawableId = R.drawable.bt_disabled; statusDrawableTint = Color.LTGRAY; statusTextId = R.string.bt_disabled; } - final ImageView imgStatus = rootView.findViewById(R.id.bt_status); imgStatus.setImageResource(statusDrawableId); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -292,16 +307,16 @@ private void updateName(@NonNull ViewGroup rootView, ITagInterface itag) { textId.setText(itag.id()); } - private void updateAlertButton(@NonNull ViewGroup rootView, boolean isAlertEnabled, boolean isConnected) { + private void updateAlertButton(@NonNull ViewGroup rootView, boolean isConnectModeEnabled, boolean isConnected) { Activity activity = getActivity(); if (activity == null) return; // final ImageView btnAlert = rootView.findViewById(R.id.btn_alert); final TextView modeTextView = rootView.findViewById(R.id.text_mode); if (BuildConfig.DEBUG) { - Log.d(LT, "updateAlertButton2 isAlertEnabled=" + isAlertEnabled + " isConnected=" + isConnected); + Log.d(LT, "updateAlertButton2 isConnectModeEnabled=" + isConnectModeEnabled + " isConnected=" + isConnected); } - btnAlert.setImageResource(isAlertEnabled || isConnected ? R.drawable.linked : R.drawable.keyfinder); - modeTextView.setText(getString(isAlertEnabled || isConnected ? R.string.mode_alert : R.string.mode_dont_connect)); + btnAlert.setImageResource(isConnectModeEnabled ? R.drawable.reconnect_on : R.drawable.reconnect_off); + modeTextView.setText(getString(isConnectModeEnabled || isConnected ? R.string.mode_alert : R.string.mode_dont_connect)); } private void updateAlertButton(@NonNull String id) { @@ -326,11 +341,11 @@ private void updateAlertButton(@NonNull String id) { } BLEConnectionInterface connection = ble.connectionById(id); boolean isConnected = connection.isConnected(); - boolean isAlertDisconnected = itag.isConnectModeEnabled(); + boolean isConnectModeEnabled = itag.isConnectModeEnabled(); if (BuildConfig.DEBUG) { - Log.d(LT, "id = " + id + " updateAlertButton2 isAlertDisconnected=" + isAlertDisconnected + " isConnected=" + isConnected); + Log.d(LT, "id = " + id + " updateAlertButton2 isAlertDisconnected=" + isConnectModeEnabled + " isConnected=" + isConnected); } - updateAlertButton(view, isAlertDisconnected, isConnected); + updateAlertButton(view, isConnectModeEnabled, isConnected); } // TODO: RSSI is very delayed, it takes 10 seconds to gradually come to right measure @@ -369,7 +384,20 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface } else { alpha = 0.3f; } - final ImageView imageITag = rootView.findViewById(R.id.image_itag); + final ITagImageView imageITag = rootView.findViewById(R.id.image_itag); + imageITag.setOnClickListener(view -> { + ((MainActivity) activity).onITagClick(itag); + }); + imageITag.setOnLongClickListener(view -> { + Log.d("ingo", "setOnLongClickListener"); + if(connection.state() == BLEConnectionState.connected || connection.state() == BLEConnectionState.connecting) { + new Thread(connection::disconnect).start(); + } else if(connection.state() == BLEConnectionState.disconnected) { + ITag.store.setShakingOnConnectDisconnect(itag.id(), false); + connection.connect(); + } + return true; + }); if (Looper.myLooper() == Looper.getMainLooper()) { imageITag.setAlpha(alpha); } else { @@ -440,8 +468,7 @@ private void updateITagImage(@NonNull ViewGroup rootView, ITagInterface itag) { break; } - - final ImageView imageITag = rootView.findViewById(R.id.image_itag); + final ITagImageView imageITag = rootView.findViewById(R.id.image_itag); imageITag.setImageResource(imageId); imageITag.setTag(itag); } diff --git a/app/src/main/java/s4y/itag/ITagsService.java b/app/src/main/java/s4y/itag/ITagsService.java index cdffe39..8bbb711 100644 --- a/app/src/main/java/s4y/itag/ITagsService.java +++ b/app/src/main/java/s4y/itag/ITagsService.java @@ -140,7 +140,6 @@ public void removeFromForeground() { inForeground = false; } - private static boolean createdForegroundChannel; private static void createForegroundNotificationChannel(Context context) { @@ -164,7 +163,8 @@ static Notification createForegroundNotification(Context context) { builder .setTicker(null) .setSmallIcon(R.drawable.app) - .setContentTitle(context.getString(R.string.service_in_background)) + .setOngoing(true) + .setContentTitle(context.getString(R.string.service_in_background)) // TODO: change this texts to something like "iTag One Running..." and create icon on main activity which will open tutorial .setContentText(context.getString(R.string.service_description)); Intent intent = new Intent(context, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 875759d..0cfc2ba 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -35,6 +35,7 @@ import s4y.itag.ble.AlertVolume; import s4y.itag.ble.BLEConnectionInterface; +import s4y.itag.ble.BLEConnectionState; import s4y.itag.ble.BLEState; import s4y.itag.history.HistoryRecord; import s4y.itag.itag.ITag; @@ -340,12 +341,8 @@ public boolean isItagsFragmentShown(){ return fragment2 != null && fragment2.getClass().getSimpleName().equals("ITagsFragment"); } - public void onITagClick(@NonNull View sender) { - ITagInterface itag = (ITagInterface) sender.getTag(); + public void onITagClick(@NonNull ITagInterface itag) { Log.d("ingo", "onITagClick"); - if (itag == null) { - return; - } final BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); if (connection.isFindMe()) { // iTag contacting phone @@ -371,7 +368,9 @@ public void onITagClick(@NonNull View sender) { } else { Log.e("ingo", "device NOT connected and connectivity is enabled"); // nothing here is needed since scanner will connect to the device once the device is discovered - connection.connect(); // TODO: remove this + if(connection.state() != BLEConnectionState.connecting) { + connection.connect(); // TODO: remove this after scanner correctly implemented + } } } @@ -585,13 +584,11 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { if (itag.isConnectModeEnabled()) { Log.d("ingo", "disconnectItag yes"); ITag.store.setConnectMode(itag.id(), TagConnectionMode.dontConnect); - ITag.disableReconnect(itag.id()); new Thread(connection::disconnect).start(); } else { Log.d("ingo", "disconnectItag no"); ITag.store.setConnectMode(itag.id(), TagConnectionMode.connect); Log.d("ingo", "isAlertEnabled? it should be: " + itag.isConnectModeEnabled()); - ITag.enableReconnect(itag.id()); connection.connect(); //ITag.connectAsync(connection); } diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index 3e95e2c..2ef9d3f 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -1,5 +1,6 @@ package s4y.itag.itag; +import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.os.Build; import android.os.Handler; @@ -19,6 +20,7 @@ import s4y.itag.ble.BLEConnectionState; import s4y.itag.ble.BLEDefault; import s4y.itag.ble.BLEInterface; +import s4y.itag.ble.BLEState; import s4y.itag.history.HistoryRecord; import s4y.itag.preference.VolumePreference; import solutions.s4y.rasat.DisposableBag; @@ -46,6 +48,9 @@ public static void initITag(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Log.d("ingo", "dadarata"); } + /*if(ble.observableState().value() == BLEState.NOT_ENABLED || ble.observableState().value() == BLEState.NO_ADAPTER){ + return; + } for (int i = 0; i < store.count(); i++) { ITagInterface itag = store.byPos(i); // TODO: modify so that it doesn't connect in passive mode @@ -53,13 +58,12 @@ public static void initITag(Context context) { BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); connection.connect(); //enableReconnect(itag.id()); - } + }*/ subscribeDisconnectionsAndConnections(); disposables.add(store.observable().subscribe(event -> { Log.d("ingo", "disposables.add(store.observable().subscribe(event -> { " + event.op); subscribeDisconnectionsAndConnections(); })); - } public static void closeApplication() { @@ -175,7 +179,8 @@ static void stopSound(){ private static void alertUser(ITagInterface itag, Boolean disconnected) { Log.d("ingo", "setShakingOnConnectDisconnect(true)"); - itag.setShaking(true); + //itag.setShaking(true); + ITag.store.setShakingOnConnectDisconnect(itag.id(), true); int volume = new VolumePreference(ITagApplication.context).get(); if (volume == VolumePreference.LOUD) { MediaPlayerUtils.getInstance().startSoundConnectedDisconnected(ITagApplication.context, disconnected); diff --git a/app/src/main/res/drawable/circular_progress_bar.xml b/app/src/main/res/drawable/circular_progress_bar.xml new file mode 100644 index 0000000..bd3dd8e --- /dev/null +++ b/app/src/main/res/drawable/circular_progress_bar.xml @@ -0,0 +1,23 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/reconnect_off.xml b/app/src/main/res/drawable/reconnect_off.xml new file mode 100644 index 0000000..8bb050d --- /dev/null +++ b/app/src/main/res/drawable/reconnect_off.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/reconnect_on.xml b/app/src/main/res/drawable/reconnect_on.xml new file mode 100644 index 0000000..ef6b4bc --- /dev/null +++ b/app/src/main/res/drawable/reconnect_on.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/itag.xml b/app/src/main/res/layout/itag.xml index aaf72cf..7382842 100644 --- a/app/src/main/res/layout/itag.xml +++ b/app/src/main/res/layout/itag.xml @@ -1,6 +1,7 @@ - + + + linked faint lost + disconnected Last+seen+here+%d+%s+ago Not connected diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java index 4c590e1..ff8ea13 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java @@ -132,7 +132,13 @@ private void setPeripheral(@Nullable BLEPeripheralInterace peripheral) { } @Override - public BLEError connect() { + public void connect(){ + new Thread(() -> { + connectOnMainThread(); + }).start(); + } + + public BLEError connectOnMainThread() { clickChannel.broadcast(0); alertChannel.broadcast(AlertVolume.NO_ALERT); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java index 6578e39..2b366d9 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java @@ -14,7 +14,7 @@ public interface BLEConnectionInterface extends AutoCloseable { String id(); boolean isConnected(); boolean isDisconnected(); - BLEError connect(); + void connect(); BLEError disconnect(int timeout); BLEError disconnect(); BLEError writeImmediateAlert(AlertVolume volume, int timeout); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java index e1b64c2..0997343 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java @@ -102,6 +102,7 @@ public void connect() { } setState(BLEPeripheralState.connecting); BluetoothGatt g; + Log.e("ingo", "poveži"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { g = device.connectGatt(context, false, callback, TRANSPORT_LE); } else { @@ -113,7 +114,7 @@ public void connect() { if (g == null) { Log.w(LT, "will init gatt to null, id=" + identifier()); } - // TODO: it aready should be set in onConnectionStateChange but just in case + // TODO: it already should be set in onConnectionStateChange but just in case if (g != null) { setGatt(g); } @@ -135,11 +136,13 @@ public void onConnectionStateChange(@NonNull BluetoothGatt gatt, int status, int setState(BLEPeripheralState.connected); observables.channelConnected.broadcast(new BLEPeripheralObservablesInterface.ConnectedEvent()); } else if (newState == BluetoothProfile.STATE_DISCONNECTED) { + Log.d("ingo", "first"); waitForClose(); } } else { // if status isn't GATT_SUCCESS, it means that connect/disconnect operation failed, possibly due to network problems. gatt.disconnect(); + Log.d("ingo", "second"); waitForClose(); } } From 3a91e4f35daee47b82ad1f8ba639a2a5707ce466 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 14 Apr 2024 20:43:25 +0200 Subject: [PATCH 09/13] implement connect and disconnect alert on passive mode --- app/src/main/java/s4y/itag/ITagsFragment.java | 13 +--- app/src/main/java/s4y/itag/MainActivity.java | 40 +++++++++--- app/src/main/java/s4y/itag/ScanFragment.java | 19 +----- app/src/main/java/s4y/itag/itag/ITag.java | 61 +++++++++++++++---- .../main/java/s4y/itag/itag/ITagDefault.java | 16 ++++- .../java/s4y/itag/itag/ITagInterface.java | 2 + .../java/s4y/itag/itag/ITagsStoreDefault.java | 16 +++++ .../s4y/itag/itag/ITagsStoreInterface.java | 3 + .../java/s4y/itag/itag/TagConnectionMode.java | 5 +- app/src/main/res/values/strings.xml | 19 +++--- .../itag/ble/BLECentralManagerDefault.java | 44 +++++++------ .../s4y/itag/ble/BLEConnectionDefault.java | 13 ++-- .../s4y/itag/ble/BLEConnectionInterface.java | 1 + .../java/s4y/itag/ble/BLEScannerDefault.java | 9 +-- .../s4y/itag/ble/BLEScannerInterface.java | 2 +- 15 files changed, 168 insertions(+), 95 deletions(-) diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 85ea2af..846025e 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -241,9 +241,9 @@ private void updateState(@NonNull ViewGroup rootView, @NonNull String id, @NonNu statusTextId = R.string.bt_disconnected; Log.d("ingo", "disconnected"); } else { - statusDrawableId = R.drawable.bt_disabled; + statusDrawableId = R.drawable.bt_call; statusDrawableTint = Color.LTGRAY; - statusTextId = R.string.bt_disabled; + statusTextId = R.string.bt_scanning; } break; case disconnecting: @@ -348,8 +348,6 @@ private void updateAlertButton(@NonNull String id) { updateAlertButton(view, isConnectModeEnabled, isConnected); } - // TODO: RSSI is very delayed, it takes 10 seconds to gradually come to right measure - private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface itag, BLEConnectionInterface connection) { Activity activity = getActivity(); if (activity == null) return; // @@ -367,13 +365,9 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface " not connected:" + !connection.isConnected() ); } - Log.d("ingo", "pa trebalo bi"); if (connection.isAlerting() || itag.isShaking() || connection.isFindMe()) { - Log.d("ingo", "updateITagImageAnimation " + connection.isAlerting() + " " + - itag.isShaking() + " " + - connection.isFindMe()); animShake = mITagAnimationShakeIndefinitely;//AnimationUtils.loadAnimation(getActivity(), R.anim.shake_itag); } if(connection.observableClick().value() == 1){ @@ -389,7 +383,6 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface ((MainActivity) activity).onITagClick(itag); }); imageITag.setOnLongClickListener(view -> { - Log.d("ingo", "setOnLongClickListener"); if(connection.state() == BLEConnectionState.connected || connection.state() == BLEConnectionState.connecting) { new Thread(connection::disconnect).start(); } else if(connection.state() == BLEConnectionState.disconnected) { @@ -571,7 +564,7 @@ public void onResume() { disposableBag.add(ITag.store.observable().subscribe(event -> { Log.d("ingo", "setupTags"); - updateTags(false); + activity.runOnUiThread(() -> updateTags(false)); //setupTags(root); })); for (int i = 0; i < ITag.store.count(); i++) { diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 0cfc2ba..220a428 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -30,8 +30,10 @@ import androidx.fragment.app.FragmentTransaction; import androidx.preference.PreferenceManager; +import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.Map; import s4y.itag.ble.AlertVolume; import s4y.itag.ble.BLEConnectionInterface; @@ -66,6 +68,7 @@ protected void onCreate(Bundle savedInstanceState) { Log.d("ingo", "onCreate"); checkForPermissions(); setupContent(); + checkIfPassiveScannerShouldTurnOn(); /* // ATTENTION: This was auto-generated to handle app linksI Intent appLinkIntent = getIntent(); @@ -76,7 +79,7 @@ protected void onCreate(Bundle savedInstanceState) { private void setupProgressBar() { ProgressBar pb = findViewById(R.id.progress); - if (ITag.ble.scanner().isScanning()) { + if (mSelectedFragment == FragmentType.SCANNER && ITag.ble.scanner().isScanning()) { pb.setVisibility(View.VISIBLE); pb.setIndeterminate(false); pb.setMax(ITag.SCAN_TIMEOUT); @@ -184,6 +187,7 @@ protected void onPause() { } private boolean mHasFocus = false; + private boolean newDevicesScanner = false; @Override public void onWindowFocusChanged(boolean hasFocus) { @@ -209,7 +213,7 @@ private void setupContent() { Fragment newFragment = null; setupProgressBar(); Log.d("ingo", "setupContent"); - if (ITag.ble.scanner().isScanning()) { + if (newDevicesScanner) { Log.d("ingo", "scanner is scanning"); mEnableAttempts = 0; if (mSelectedFragment != FragmentType.SCANNER) { @@ -268,7 +272,7 @@ private void setupContent() { @Override public void onBackPressed() { - if (ITag.ble.scanner().isScanning()) { + if (mSelectedFragment == FragmentType.SCANNER && newDevicesScanner) { ITag.ble.scanner().stop(); } else { super.onBackPressed();// your code. @@ -386,13 +390,14 @@ public void onStartStopScan(View ignored) { if (s4y.itag.ble.BuildConfig.DEBUG) { Log.d(LT, "onStartStopScan isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } - if (ITag.ble.scanner().isScanning()) { + if (newDevicesScanner) { ITag.ble.scanner().stop(); } else { checkForPermissions(); - ITag.ble.scanner().start(ITag.SCAN_TIMEOUT, new String[]{}); + ITag.ble.scanner().start(true, ITag.SCAN_TIMEOUT, new String[]{}); Log.d("ingo", "scanner started"); } + newDevicesScanner = !newDevicesScanner; } void checkForPermissions(){ @@ -583,15 +588,36 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); if (itag.isConnectModeEnabled()) { Log.d("ingo", "disconnectItag yes"); - ITag.store.setConnectMode(itag.id(), TagConnectionMode.dontConnect); + ITag.store.setConnectMode(itag.id(), TagConnectionMode.passive); new Thread(connection::disconnect).start(); } else { Log.d("ingo", "disconnectItag no"); - ITag.store.setConnectMode(itag.id(), TagConnectionMode.connect); + ITag.store.setConnectMode(itag.id(), TagConnectionMode.active); Log.d("ingo", "isAlertEnabled? it should be: " + itag.isConnectModeEnabled()); connection.connect(); //ITag.connectAsync(connection); } + checkIfPassiveScannerShouldTurnOn(); + } + + private void checkIfPassiveScannerShouldTurnOn() { + boolean shouldPassiveScannerBeOn = false; + for(Map.Entry tagEntry : ITag.store.getTagMap().entrySet()){ + if(tagEntry.getValue().connectionMode() == TagConnectionMode.passive){ + Log.d("ingo", "scanner, passive is " + tagEntry.getValue().name()); + shouldPassiveScannerBeOn = true; + break; + } + } + Log.d("ingo", "ITag.ble.scanner().isScanning() " + ITag.ble.scanner().isScanning()); + if(shouldPassiveScannerBeOn && !ITag.ble.scanner().isScanning()){ + Log.d("ingo", "scanner on"); + ITag.ble.scanner().start(false, 0, new String[]{}); + } else if(!shouldPassiveScannerBeOn && ITag.ble.scanner().isScanning()){ + Log.d("ingo", "scanner off"); + ITag.ble.scanner().stop(); + ITag.unsubscribePassiveScanner(); + } } public void onSetName(@NonNull View sender) { diff --git a/app/src/main/java/s4y/itag/ScanFragment.java b/app/src/main/java/s4y/itag/ScanFragment.java index f997f56..43f773c 100644 --- a/app/src/main/java/s4y/itag/ScanFragment.java +++ b/app/src/main/java/s4y/itag/ScanFragment.java @@ -58,24 +58,6 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, return view; } - /* - private ListView listView() { - View root = getView(); - if (root == null) return null; - return root.findViewById(R.id.results_list); - } - - private Adapter adapter(ListView listView) { - if (listView == null) { - return null; - } - return ((Adapter) (listView.getAdapter())); - } - - private Adapter adapter() { - return adapter(listView()); - } - */ private long lastUpdate = 0; @Override @@ -84,6 +66,7 @@ public void onResume() { ITagApplication.faScanView(ITag.store.count() > 0); disposableBag.add( ITag.ble.scanner().observableScan().subscribe((result) -> { + // TODO: check if this is why device doesn't show up after being forgotten if (ITag.store.remembered(result.id)) { return; } diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index 2ef9d3f..a5edc3e 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -1,6 +1,5 @@ package s4y.itag.itag; -import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.os.Build; import android.os.Handler; @@ -20,7 +19,6 @@ import s4y.itag.ble.BLEConnectionState; import s4y.itag.ble.BLEDefault; import s4y.itag.ble.BLEInterface; -import s4y.itag.ble.BLEState; import s4y.itag.history.HistoryRecord; import s4y.itag.preference.VolumePreference; import solutions.s4y.rasat.DisposableBag; @@ -37,10 +35,20 @@ public class ITag { private static final Map reconnectListeners = new HashMap<>(); private static final DisposableBag disposables = new DisposableBag(); + private static final DisposableBag disposablePassiveScanner = new DisposableBag(); private static final DisposableBag disposablesConnections = new DisposableBag(); private static final Map asyncConnections = new HashMap<>(); private static final Map connectionBags = new HashMap<>(); + private static final int PASSIVE_DISCONNECT_TIMEOUT = 2000; + private static final android.os.Handler passiveDisconnectTimeoutHandler = new Handler(Looper.getMainLooper()); + private static final Map passiveDisconnectRunnables = new HashMap<>(); + private static void iTagPassivelyDisconnected(ITagInterface itag) { + if(!itag.isShaking()) { + ITag.store.setPassivelyDisconnected(itag.id(), true); + alertUser(itag, true); + } + }; public static void initITag(Context context) { store = new ITagsStoreDefault(ITagApplication.context); @@ -48,22 +56,49 @@ public static void initITag(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Log.d("ingo", "dadarata"); } - /*if(ble.observableState().value() == BLEState.NOT_ENABLED || ble.observableState().value() == BLEState.NO_ADAPTER){ - return; - } - for (int i = 0; i < store.count(); i++) { - ITagInterface itag = store.byPos(i); - // TODO: modify so that it doesn't connect in passive mode - if (itag == null || !itag.isConnectModeEnabled()) continue; - BLEConnectionInterface connection = ITag.ble.connectionById(itag.id()); - connection.connect(); - //enableReconnect(itag.id()); - }*/ subscribeDisconnectionsAndConnections(); disposables.add(store.observable().subscribe(event -> { Log.d("ingo", "disposables.add(store.observable().subscribe(event -> { " + event.op); subscribeDisconnectionsAndConnections(); })); + subscribePassiveScanner(); + } + + public static void unsubscribePassiveScanner(){ + disposablePassiveScanner.dispose(); + } + + public static void subscribePassiveScanner() { + // TODO: pass bluetooth manager only devices with passive mode ON. + disposablePassiveScanner.dispose(); + disposablePassiveScanner.add( + ITag.ble.scanner().observableScan().subscribe((result) -> { + ITagInterface itag = ITag.store.byId(result.id); + if(itag != null) { + BLEConnectionInterface connection = ITag.ble.connectionById(result.id); + connection.broadcastRSSI(result.rssi); + // to handle disconnects + if(itag.alertMode() == TagAlertMode.alertOnDisconnect || itag.alertMode() == TagAlertMode.alertOnBoth) { + Runnable runnable; + if (passiveDisconnectRunnables.containsKey(itag.id())) { + runnable = passiveDisconnectRunnables.get(itag.id()); + } else { + runnable = () -> iTagPassivelyDisconnected(itag); + passiveDisconnectRunnables.put(itag.id(), runnable); + } + passiveDisconnectTimeoutHandler.removeCallbacks(runnable); + passiveDisconnectTimeoutHandler.postDelayed(runnable, PASSIVE_DISCONNECT_TIMEOUT); + } + // to handle connects + if(itag.alertMode() == TagAlertMode.alertOnDisconnect || itag.alertMode() == TagAlertMode.alertOnBoth) { + if(itag.hasPassivelyDisconnected()){ + alertUser(itag, false); + ITag.store.setPassivelyDisconnected(itag.id(), false); + } + } + } + }) + ); } public static void closeApplication() { diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index cd4f13e..846edc5 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -25,13 +25,14 @@ public class ITagDefault implements ITagInterface, Serializable { private TagConnectionMode connectionMode; private int alertDelay; private boolean shakingOnConnectDisconnect = false; + private boolean hasPassivelyDisconnected = false; public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor color, @Nullable Boolean alert, @Nullable Integer alertDelay, @Nullable TagAlertMode alertMode, @Nullable TagConnectionMode connectionMode) { this.id = id; this.name = name == null ? ITagApplication.context.getString(R.string.unknown):name; this.color = color == null? TagColor.black : color; this.alertMode = alertMode == null ? TagAlertMode.alertOnDisconnect : alertMode; - this.connectionMode = connectionMode == null ? TagConnectionMode.connect : connectionMode; + this.connectionMode = connectionMode == null ? TagConnectionMode.active : connectionMode; Log.d("ingo", "we set mode to " + alertMode); this.alertDelay = alertDelay == null ? 5: alertDelay; } @@ -80,6 +81,12 @@ public Boolean isShaking() { return shakingOnConnectDisconnect; } + @NonNull + @Override + public Boolean hasPassivelyDisconnected() { + return hasPassivelyDisconnected; + } + @NonNull @Override public TagConnectionMode connectionMode() { @@ -96,9 +103,14 @@ public void setShaking(@NonNull Boolean shaking) { this.shakingOnConnectDisconnect = shaking; } + @Override + public void setPassivelyDisconnected(@NonNull Boolean has_disconnected) { + this.hasPassivelyDisconnected = has_disconnected; + } + @Override public boolean isConnectModeEnabled() { - return connectionMode == TagConnectionMode.connect; + return connectionMode == TagConnectionMode.active; } @Override diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index 95ac24f..d824edd 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -10,9 +10,11 @@ public interface ITagInterface { String name(); void setName(String name); Boolean isShaking(); + Boolean hasPassivelyDisconnected(); TagColor color(); void setColor(TagColor color); void setShaking(Boolean currentlyShaking); + void setPassivelyDisconnected(Boolean has_disconnected); void setAlertMode(TagAlertMode alertMode); void setConnectionMode(TagConnectionMode connectionMode); TagConnectionMode connectionMode(); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index 0d0d274..15e5c18 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -194,6 +194,17 @@ synchronized public void setShakingOnConnectDisconnect(@NonNull String id, Boole channel.broadcast(new StoreOp(StoreOpType.change, tag)); } + @Override + synchronized public void setPassivelyDisconnected(@NonNull String id, Boolean has_disconnected) { + ITagInterface tag = tags.get(id); + if (tag == null) { + return; + } + tag.setPassivelyDisconnected(has_disconnected); + //new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); + channel.broadcast(new StoreOp(StoreOpType.change, tag)); + } + @Override synchronized public void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode) { ITagInterface tag = tags.get(id); @@ -242,4 +253,9 @@ synchronized public void setName(@NonNull String id, String name) { synchronized public List getIds() { return this.ids; } + + @Override + synchronized public Map getTagMap(){ + return this.tags; + } } diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index 9ba47e5..17cd6be 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -4,6 +4,7 @@ import androidx.annotation.Nullable; import java.util.List; +import java.util.Map; import solutions.s4y.rasat.Observable; @@ -25,9 +26,11 @@ public interface ITagsStoreInterface { void setAlertDelay(@NonNull String id,int delay); void setAlertMode(@NonNull String id, TagAlertMode alertMode); void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking); + void setPassivelyDisconnected(@NonNull String id, Boolean has_disconnected); void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode); void setConnectMode(@NonNull String id, TagConnectionMode connectionMode); void setColor(@NonNull String id,@NonNull TagColor color); void setName(@NonNull String id,String name); List getIds(); + Map getTagMap(); } diff --git a/app/src/main/java/s4y/itag/itag/TagConnectionMode.java b/app/src/main/java/s4y/itag/itag/TagConnectionMode.java index b22aa54..2eed09f 100644 --- a/app/src/main/java/s4y/itag/itag/TagConnectionMode.java +++ b/app/src/main/java/s4y/itag/itag/TagConnectionMode.java @@ -1,6 +1,7 @@ package s4y.itag.itag; public enum TagConnectionMode { - connect, - dontConnect, + active, + passive, + off } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0519e73..d086873 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -86,15 +86,16 @@ You need to Enable Bluetooth manually in the Device Settings. Turn on Bluetooth - off - connecting - disconnecting - lost - reading/writing - linked - faint - lost - disconnected + Off + Connecting + Disconnecting + Lost + Reading/writing + Linked + Faint + Lost + Disconnected + Scanning Last+seen+here+%d+%s+ago Not connected diff --git a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java index e0545d2..af07677 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLECentralManagerDefault.java @@ -141,31 +141,29 @@ public void startScan(boolean newDevices) { if (BuildConfig.DEBUG) { Log.d(L,"startLeScan, thread="+Thread.currentThread().getName()+", adapter="+(adapter==null?"null":"not null")); } - if (adapter != null && adapter.getBluetoothLeScanner() != null) { - if (!isScanning(adapter)) { - // replaced with startScan method because startLeScan is deprecated in API 21. startScan also only scans LE devices. https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.bluetooth.le.ScanCallback) - if(!newDevices) { - List scanFilters = new ArrayList<>(); - for(String device_id : devices_ids){ - ScanFilter scanFilter = new ScanFilter.Builder().setDeviceAddress(device_id).build(); - scanFilters.add(scanFilter); - } - ScanSettings.Builder scanSettings = new ScanSettings.Builder(); - scanSettings.setScanMode(SCAN_MODE_BALANCED); // or SCAN_MODE_LOW_POWER to consume less power - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - scanSettings.setMatchMode(MATCH_MODE_AGGRESSIVE); // In Aggressive mode, hw will determine a match sooner even with feeble signal strength and few number of sightings/match in a duration. - } - adapter.getBluetoothLeScanner().startScan(scanFilters, scanSettings.build(), scanCallback); - } else { - ScanSettings.Builder scanSettings = new ScanSettings.Builder(); - scanSettings.setScanMode(SCAN_MODE_LOW_LATENCY); - scanSettings.setReportDelay(0); - Log.d("ingo", "je adapter nula? " + String.valueOf(adapter.getBluetoothLeScanner() == null)); - adapter.getBluetoothLeScanner().startScan(new ArrayList(), scanSettings.build(), scanCallback); - } - isScanning = true; + if (adapter == null || adapter.getBluetoothLeScanner() == null) return; + if (isScanning(adapter)) return; + // replaced with startScan method because startLeScan is deprecated in API 21. startScan also only scans LE devices. https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner#startScan(java.util.List%3Candroid.bluetooth.le.ScanFilter%3E,%20android.bluetooth.le.ScanSettings,%20android.bluetooth.le.ScanCallback) + ScanSettings.Builder scanSettings = new ScanSettings.Builder(); + if(!newDevices) { + List scanFilters = new ArrayList<>(); + for(String device_id : devices_ids){ + ScanFilter scanFilter = new ScanFilter.Builder().setDeviceAddress(device_id).build(); + scanFilters.add(scanFilter); } + scanSettings.setScanMode(SCAN_MODE_BALANCED); // or SCAN_MODE_LOW_POWER to consume less power + scanSettings.setReportDelay(500); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + scanSettings.setMatchMode(MATCH_MODE_AGGRESSIVE); // In Aggressive mode, hw will determine a match sooner even with feeble signal strength and few number of sightings/match in a duration. + } + adapter.getBluetoothLeScanner().startScan(scanFilters, scanSettings.build(), scanCallback); + } else { + scanSettings.setScanMode(SCAN_MODE_LOW_LATENCY); + scanSettings.setReportDelay(0); + Log.d("ingo", "je adapter nula? " + (adapter.getBluetoothLeScanner() == null)); + adapter.getBluetoothLeScanner().startScan(new ArrayList<>(), scanSettings.build(), scanCallback); } + isScanning = true; } public void stopScan() { diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java index ff8ea13..8d9bc22 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionDefault.java @@ -142,7 +142,7 @@ public BLEError connectOnMainThread() { clickChannel.broadcast(0); alertChannel.broadcast(AlertVolume.NO_ALERT); - manager.stopScan(); + //manager.stopScan(); if (isConnected()) { if (peripheral() == null) { Log.w("LT", "isConnected but peripheral is null"); @@ -384,7 +384,7 @@ private BLEError waitForScan() { .subscribe((event) -> { if (event.peripheral != null) { if (id.equals(event.peripheral.identifier())) { - manager.stopScan(); + manager.stopScan(); // TODO: check if this is why the scanner stops unexpectedly monitorScan.setPayload(event.peripheral); } } @@ -434,10 +434,6 @@ public BLEError disconnect(int timeoutSec) { clickChannel.broadcast(0); alertChannel.broadcast(AlertVolume.NO_ALERT); - if (manager.isScanning()) { - manager.stopScan(); - } - if (BLEConnectionState.disconnected.equals(state())) { return BLEError.ok; } @@ -579,6 +575,11 @@ public Observable observableRSSI() { return rssiChannel.observable; } + @Override + public void broadcastRSSI(int rssi) { + rssiChannel.broadcast(rssi); + } + @Override public Observable observableState() { return stateChannel.observable; diff --git a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java index 2b366d9..e5305b8 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEConnectionInterface.java @@ -21,6 +21,7 @@ public interface BLEConnectionInterface extends AutoCloseable { BLEError writeImmediateAlert(AlertVolume volume); void enableRSSI(); void disableRSSI(); + void broadcastRSSI(int rssi); boolean rssiEnabled(); int rssi(); int getLastStatus(); diff --git a/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java index f18b746..e78b1bd 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEScannerDefault.java @@ -65,20 +65,21 @@ public Observable observableActive() { private final DisposableBag disposableBag = new DisposableBag(); @Override - public void start(int timeout, String[] forceCancelIds) { + public void start(boolean newDevices, int timeout, String[] forceCancelIds) { stop(); if (!manager.canScan()) return; - // resultList.add(result); disposableBag.add( manager.observables().observablePeripheralDiscovered().subscribe( event -> channelScan.broadcast(new BLEScanResult(event.peripheral.address(), event.peripheral.name(), event.rssi)) )); setScanning(true); manager.startScan(true); - channelTimer.broadcast(timeout); + if(timeout != 0) { + channelTimer.broadcast(timeout); + handlerTimer.postDelayed(runnableTimer, 1000); + } channelActive.broadcast(true); - handlerTimer.postDelayed(runnableTimer, 1000); } @Override diff --git a/itagble/src/main/java/s4y/itag/ble/BLEScannerInterface.java b/itagble/src/main/java/s4y/itag/ble/BLEScannerInterface.java index 324ba3b..f4daa79 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEScannerInterface.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEScannerInterface.java @@ -8,6 +8,6 @@ public interface BLEScannerInterface { Observable observableScan(); Observable observableActive(); - void start(int timeout, String[] forceCancelIds); + void start(boolean newDevices, int timeout, String[] forceCancelIds); void stop(); } From 1b8beaba1dc323e4fe44ad64e80cf0b4093cd386 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 14 Apr 2024 22:01:39 +0200 Subject: [PATCH 10/13] reconnect bug fix --- app/src/main/java/s4y/itag/ITagsFragment.java | 6 ++---- app/src/main/java/s4y/itag/MainActivity.java | 11 +++++++++-- .../java/s4y/itag/SetNameDialogFragment.java | 7 ++++++- app/src/main/java/s4y/itag/itag/ITag.java | 10 ++++++++-- .../main/java/s4y/itag/itag/ITagDefault.java | 19 +++++++++++++++++-- .../java/s4y/itag/itag/ITagInterface.java | 3 +++ .../java/s4y/itag/itag/ITagsStoreDefault.java | 11 +++++++++++ .../s4y/itag/itag/ITagsStoreInterface.java | 1 + app/src/main/res/layout/fragment_set_name.xml | 6 ++++++ app/src/main/res/values-ar/strings.xml | 4 ++-- app/src/main/res/values-es/strings.xml | 4 ++-- app/src/main/res/values-fr/strings.xml | 4 ++-- app/src/main/res/values-it/strings.xml | 4 ++-- app/src/main/res/values-pt/strings.xml | 4 ++-- app/src/main/res/values-ru/strings.xml | 4 ++-- app/src/main/res/values/strings.xml | 4 ++-- 16 files changed, 77 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 846025e..92702f3 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -1,7 +1,5 @@ package s4y.itag; -import android.animation.ObjectAnimator; -import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; @@ -11,7 +9,6 @@ import android.os.Looper; import android.util.Log; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; @@ -316,7 +313,7 @@ private void updateAlertButton(@NonNull ViewGroup rootView, boolean isConnectMod Log.d(LT, "updateAlertButton2 isConnectModeEnabled=" + isConnectModeEnabled + " isConnected=" + isConnected); } btnAlert.setImageResource(isConnectModeEnabled ? R.drawable.reconnect_on : R.drawable.reconnect_off); - modeTextView.setText(getString(isConnectModeEnabled || isConnected ? R.string.mode_alert : R.string.mode_dont_connect)); + modeTextView.setText(getString(isConnectModeEnabled || isConnected ? R.string.mode_active : R.string.mode_passive)); } private void updateAlertButton(@NonNull String id) { @@ -384,6 +381,7 @@ private void updateITagImageAnimation(@NonNull ViewGroup rootView, ITagInterface }); imageITag.setOnLongClickListener(view -> { if(connection.state() == BLEConnectionState.connected || connection.state() == BLEConnectionState.connecting) { + ITag.store.setReconnectMode(itag.id(), false); // TODO: check if this is wanted behaviour - if we manually disconnect from device, it sets reconnect to OFF new Thread(connection::disconnect).start(); } else if(connection.state() == BLEConnectionState.disconnected) { ITag.store.setShakingOnConnectDisconnect(itag.id(), false); diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 220a428..33290e3 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -132,6 +132,7 @@ protected void onResume() { disposableBag.add(ITag.ble.observableState().subscribe(event -> { Log.d("ingo", "disposableBag.add(ITag.ble.observableState().subscribe"); setupContent(); + checkIfPassiveScannerShouldTurnOn(); })); disposableBag.add(ITag.ble.scanner().observableActive().subscribe( event -> { @@ -274,6 +275,9 @@ private void setupContent() { public void onBackPressed() { if (mSelectedFragment == FragmentType.SCANNER && newDevicesScanner) { ITag.ble.scanner().stop(); + newDevicesScanner = false; + setupContent(); + checkIfPassiveScannerShouldTurnOn(); } else { super.onBackPressed();// your code. } @@ -373,7 +377,7 @@ public void onITagClick(@NonNull ITagInterface itag) { Log.e("ingo", "device NOT connected and connectivity is enabled"); // nothing here is needed since scanner will connect to the device once the device is discovered if(connection.state() != BLEConnectionState.connecting) { - connection.connect(); // TODO: remove this after scanner correctly implemented + connection.connect(); // TODO: remove this after scanner and reconnect correctly implemented } } } @@ -603,7 +607,9 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { private void checkIfPassiveScannerShouldTurnOn() { boolean shouldPassiveScannerBeOn = false; for(Map.Entry tagEntry : ITag.store.getTagMap().entrySet()){ - if(tagEntry.getValue().connectionMode() == TagConnectionMode.passive){ + if(tagEntry.getValue().connectionMode() == TagConnectionMode.passive || + (tagEntry.getValue().connectionMode() == TagConnectionMode.active && tagEntry.getValue().reconnectMode() && !ITag.ble.connectionById(tagEntry.getKey()).isConnected()) + ){ Log.d("ingo", "scanner, passive is " + tagEntry.getValue().name()); shouldPassiveScannerBeOn = true; break; @@ -613,6 +619,7 @@ private void checkIfPassiveScannerShouldTurnOn() { if(shouldPassiveScannerBeOn && !ITag.ble.scanner().isScanning()){ Log.d("ingo", "scanner on"); ITag.ble.scanner().start(false, 0, new String[]{}); + ITag.subscribePassiveScanner(); } else if(!shouldPassiveScannerBeOn && ITag.ble.scanner().isScanning()){ Log.d("ingo", "scanner off"); ITag.ble.scanner().stop(); diff --git a/app/src/main/java/s4y/itag/SetNameDialogFragment.java b/app/src/main/java/s4y/itag/SetNameDialogFragment.java index 45c0f30..78a2f07 100644 --- a/app/src/main/java/s4y/itag/SetNameDialogFragment.java +++ b/app/src/main/java/s4y/itag/SetNameDialogFragment.java @@ -8,6 +8,7 @@ import android.view.LayoutInflater; import android.view.View; import android.widget.ArrayAdapter; +import android.widget.CheckBox; import android.widget.Spinner; import android.widget.TextView; @@ -30,8 +31,11 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { @SuppressLint("InflateParams") final View view = inflater.inflate(R.layout.fragment_set_name, null); final TextView textName = view.findViewById(R.id.text_name); textName.setText(iTag.name()); - final Spinner alarmDelaySpinner = view.findViewById(R.id.alarm_delay_spinner); + final CheckBox reconnect_checkbox = view.findViewById(R.id.reconnect_checkbox); + reconnect_checkbox.setChecked(iTag.reconnectMode()); + + final Spinner alarmDelaySpinner = view.findViewById(R.id.alarm_delay_spinner); ArrayAdapter alarmDelayAdapter = ArrayAdapter.createFromResource( requireContext(), R.array.itag_alarm_delays, @@ -109,6 +113,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { ITag.store.setName(iTag.id(), textName.getText().toString()); ITagApplication.faNameITag(); } + ITag.store.setReconnectMode(iTag.id(), reconnect_checkbox.isChecked()); switch (alarmDelaySpinner.getSelectedItemPosition()) { case 0: ITag.store.setAlertDelay(iTag.id(), 0); diff --git a/app/src/main/java/s4y/itag/itag/ITag.java b/app/src/main/java/s4y/itag/itag/ITag.java index a5edc3e..7777c4b 100644 --- a/app/src/main/java/s4y/itag/itag/ITag.java +++ b/app/src/main/java/s4y/itag/itag/ITag.java @@ -44,7 +44,7 @@ public class ITag { private static final android.os.Handler passiveDisconnectTimeoutHandler = new Handler(Looper.getMainLooper()); private static final Map passiveDisconnectRunnables = new HashMap<>(); private static void iTagPassivelyDisconnected(ITagInterface itag) { - if(!itag.isShaking()) { + if(!itag.isShaking() && itag.connectionMode() == TagConnectionMode.passive) { ITag.store.setPassivelyDisconnected(itag.id(), true); alertUser(itag, true); } @@ -74,7 +74,8 @@ public static void subscribePassiveScanner() { disposablePassiveScanner.add( ITag.ble.scanner().observableScan().subscribe((result) -> { ITagInterface itag = ITag.store.byId(result.id); - if(itag != null) { + if(itag == null) return; + if(itag.connectionMode() == TagConnectionMode.passive) { BLEConnectionInterface connection = ITag.ble.connectionById(result.id); connection.broadcastRSSI(result.rssi); // to handle disconnects @@ -97,6 +98,10 @@ public static void subscribePassiveScanner() { } } } + // handle reconnects for devices in active mode + if(itag.connectionMode() == TagConnectionMode.active && itag.reconnectMode() && ITag.ble.connectionById(itag.id()).state() == BLEConnectionState.disconnected){ + ITag.ble.connectionById(itag.id()).connect(); + } }) ); } @@ -159,6 +164,7 @@ private static void subscribeDisconnectionsAndConnections() { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost"); alertUser(itag, true); + connection.broadcastRSSI(-999); } else { if (BuildConfig.DEBUG) Log.d(LT, "connection " + connection.id() + " lost will be delayed by " + diff --git a/app/src/main/java/s4y/itag/itag/ITagDefault.java b/app/src/main/java/s4y/itag/itag/ITagDefault.java index 846edc5..09c1dbe 100644 --- a/app/src/main/java/s4y/itag/itag/ITagDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagDefault.java @@ -24,13 +24,18 @@ public class ITagDefault implements ITagInterface, Serializable { private TagAlertMode alertMode; private TagConnectionMode connectionMode; private int alertDelay; + // TODO: use these two variables below to stop alerting user when unnecessary + boolean ignoreNextConnect = false; + boolean ignoreNextDisonnect = false; private boolean shakingOnConnectDisconnect = false; private boolean hasPassivelyDisconnected = false; + private boolean reconnect = true; - public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor color, @Nullable Boolean alert, @Nullable Integer alertDelay, @Nullable TagAlertMode alertMode, @Nullable TagConnectionMode connectionMode) { + public ITagDefault(@NonNull String id, @Nullable String name, @Nullable TagColor color, @Nullable Boolean reconnect, @Nullable Integer alertDelay, @Nullable TagAlertMode alertMode, @Nullable TagConnectionMode connectionMode) { this.id = id; this.name = name == null ? ITagApplication.context.getString(R.string.unknown):name; this.color = color == null? TagColor.black : color; + this.reconnect = reconnect == null || reconnect; this.alertMode = alertMode == null ? TagAlertMode.alertOnDisconnect : alertMode; this.connectionMode = connectionMode == null ? TagConnectionMode.active : connectionMode; Log.d("ingo", "we set mode to " + alertMode); @@ -42,7 +47,7 @@ public ITagDefault(@NonNull BLEScanResult scanResult) { } public ITagDefault(@NonNull String id, Map dict) { - this(id, (String)dict.get("name"), (TagColor)dict.get("color"), (Boolean)dict.get("alert"), (Integer)dict.get("alertDelay"), (TagAlertMode) dict.get("alertMode"), (TagConnectionMode) dict.get("connectionMode")); + this(id, (String)dict.get("name"), (TagColor)dict.get("color"), (Boolean)dict.get("reconnect"), (Integer)dict.get("alertDelay"), (TagAlertMode) dict.get("alertMode"), (TagConnectionMode) dict.get("connectionMode")); Log.d("ingo", "poziva se iz dicta"); } @@ -98,6 +103,16 @@ public void setColor(@NonNull TagColor color) { this.color = color; } + @Override + public void setReconnectMode(@NonNull Boolean reconnect) { + this.reconnect = reconnect; + } + + @Override + public boolean reconnectMode() { + return this.reconnect; + } + @Override public void setShaking(@NonNull Boolean shaking) { this.shakingOnConnectDisconnect = shaking; diff --git a/app/src/main/java/s4y/itag/itag/ITagInterface.java b/app/src/main/java/s4y/itag/itag/ITagInterface.java index d824edd..a169831 100644 --- a/app/src/main/java/s4y/itag/itag/ITagInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagInterface.java @@ -16,6 +16,9 @@ public interface ITagInterface { void setShaking(Boolean currentlyShaking); void setPassivelyDisconnected(Boolean has_disconnected); void setAlertMode(TagAlertMode alertMode); + void setReconnectMode(Boolean reconnect); + boolean reconnectMode(); + void setConnectionMode(TagConnectionMode connectionMode); TagConnectionMode connectionMode(); TagAlertMode alertMode(); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java index 15e5c18..7284fa7 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreDefault.java @@ -205,6 +205,17 @@ synchronized public void setPassivelyDisconnected(@NonNull String id, Boolean ha channel.broadcast(new StoreOp(StoreOpType.change, tag)); } + @Override + synchronized public void setReconnectMode(@NonNull String id, Boolean reconnect) { + ITagInterface tag = tags.get(id); + if (tag == null) { + return; + } + tag.setReconnectMode(reconnect); + //new PreferenceTagDefault(context, tag.id()).set((ITagDefault) tag); + channel.broadcast(new StoreOp(StoreOpType.change, tag)); + } + @Override synchronized public void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode) { ITagInterface tag = tags.get(id); diff --git a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java index 17cd6be..f1b6cd9 100644 --- a/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java +++ b/app/src/main/java/s4y/itag/itag/ITagsStoreInterface.java @@ -27,6 +27,7 @@ public interface ITagsStoreInterface { void setAlertMode(@NonNull String id, TagAlertMode alertMode); void setShakingOnConnectDisconnect(@NonNull String id, Boolean shaking); void setPassivelyDisconnected(@NonNull String id, Boolean has_disconnected); + void setReconnectMode(@NonNull String id, Boolean reconnect); void setConnectionMode(@NonNull String id, TagConnectionMode connectionMode); void setConnectMode(@NonNull String id, TagConnectionMode connectionMode); void setColor(@NonNull String id,@NonNull TagColor color); diff --git a/app/src/main/res/layout/fragment_set_name.xml b/app/src/main/res/layout/fragment_set_name.xml index d46c6c2..264f62c 100644 --- a/app/src/main/res/layout/fragment_set_name.xml +++ b/app/src/main/res/layout/fragment_set_name.xml @@ -42,6 +42,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/>--> + + إنذار الاهتزاز لا إنذار - وضع الباحث عن المفاتيح - وضع التنبيه المفقود + وضع الباحث عن المفاتيح + وضع التنبيه المفقود \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 1a04040..6337a05 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -93,6 +93,6 @@ Alarma de altavoz Alarma de vibración Ninguna alarma - Modo buscador de claves - Modo de alarma perdido + Modo buscador de claves + Modo de alarma perdido \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 017e60f..ecc8d51 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -93,6 +93,6 @@ Alarme haut-parleur Alarme vibrante Pas d\'alarme - Mode de recherche de clé - Mode d\'alarme perdu + Mode de recherche de clé + Mode d\'alarme perdu \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0c68d54..e5f618b 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -93,6 +93,6 @@ Allarme dell\'altoparlante Allarme vibrazione Nessun allarme - Modalità ricerca chiavi - Modalità di allarme perso + Modalità ricerca chiavi + Modalità di allarme perso \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 467df9a..feed5cf 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -92,7 +92,7 @@ Alarme de alto-falante Alarme vibratório Sem alarme - Modo localizador de chave - Modo de alarme perdido + Modo localizador de chave + Modo de alarme perdido iTag One \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index bbce3b8..6ffe346 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -95,6 +95,6 @@ Вибрационная сигнализация Нет будильника - Только поиск брелка - Сигнализировать при утере брелка + Только поиск брелка + Сигнализировать при утере брелка \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d086873..95f6ab6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -140,6 +140,6 @@ Vibration alarm No alarm - Mode: Don\'t connect - Mode: Connect + Mode: Passive + Mode: Active From 19b25fa74a6309d952cc333efd2fcd872a56e99c Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Sun, 14 Apr 2024 22:13:03 +0200 Subject: [PATCH 11/13] scanner fix --- app/src/main/java/s4y/itag/ITagsFragment.java | 2 +- app/src/main/java/s4y/itag/MainActivity.java | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/s4y/itag/ITagsFragment.java b/app/src/main/java/s4y/itag/ITagsFragment.java index 92702f3..ba219cb 100644 --- a/app/src/main/java/s4y/itag/ITagsFragment.java +++ b/app/src/main/java/s4y/itag/ITagsFragment.java @@ -312,7 +312,7 @@ private void updateAlertButton(@NonNull ViewGroup rootView, boolean isConnectMod if (BuildConfig.DEBUG) { Log.d(LT, "updateAlertButton2 isConnectModeEnabled=" + isConnectModeEnabled + " isConnected=" + isConnected); } - btnAlert.setImageResource(isConnectModeEnabled ? R.drawable.reconnect_on : R.drawable.reconnect_off); + btnAlert.setImageResource(isConnectModeEnabled ? R.drawable.linked : R.drawable.keyfinder); modeTextView.setText(getString(isConnectModeEnabled || isConnected ? R.string.mode_active : R.string.mode_passive)); } diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 33290e3..87f1cef 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -79,7 +79,7 @@ protected void onCreate(Bundle savedInstanceState) { private void setupProgressBar() { ProgressBar pb = findViewById(R.id.progress); - if (mSelectedFragment == FragmentType.SCANNER && ITag.ble.scanner().isScanning()) { + if (mSelectedFragment == FragmentType.SCANNER) { pb.setVisibility(View.VISIBLE); pb.setIndeterminate(false); pb.setMax(ITag.SCAN_TIMEOUT); @@ -146,7 +146,15 @@ protected void onResume() { } )); disposableBag.add(ITag.ble.scanner().observableTimer().subscribe( - event -> setupProgressBar() + event -> { + if(ITag.ble.scanner().observableTimer().value() < 0){ + newDevicesScanner = false; + Log.d("ingo", "gasimo scanner"); + setupContent(); + } else { + setupProgressBar(); + } + } )); disposableBag.add(ITag.store.observable().subscribe(event -> { switch (event.op) { @@ -395,13 +403,15 @@ public void onStartStopScan(View ignored) { Log.d(LT, "onStartStopScan isScanning=" + ITag.ble.scanner().isScanning() + " thread=" + Thread.currentThread().getName()); } if (newDevicesScanner) { + newDevicesScanner = false; ITag.ble.scanner().stop(); } else { + newDevicesScanner = true; checkForPermissions(); ITag.ble.scanner().start(true, ITag.SCAN_TIMEOUT, new String[]{}); Log.d("ingo", "scanner started"); + setupContent(); } - newDevicesScanner = !newDevicesScanner; } void checkForPermissions(){ @@ -605,6 +615,7 @@ public void toggleTagConnectivity(@NonNull ITagInterface itag) { } private void checkIfPassiveScannerShouldTurnOn() { + if(newDevicesScanner) return; boolean shouldPassiveScannerBeOn = false; for(Map.Entry tagEntry : ITag.store.getTagMap().entrySet()){ if(tagEntry.getValue().connectionMode() == TagConnectionMode.passive || From 2706d3d455ba82b9248a72364b5dedd8fe774141 Mon Sep 17 00:00:00 2001 From: Hjoor Genda Date: Mon, 15 Apr 2024 15:03:30 +0200 Subject: [PATCH 12/13] Language string fix --- app/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 95f6ab6..56d4170 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -94,8 +94,8 @@ Linked Faint Lost - Disconnected - Scanning + Disconnected + Scanning Last+seen+here+%d+%s+ago Not connected From 33ea27d44e1ae00248089976730112f2902f289e Mon Sep 17 00:00:00 2001 From: ikodbapc Date: Wed, 14 Jan 2026 13:11:27 +0100 Subject: [PATCH 13/13] Fix build errors for compilation with AGP 8.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Enable BuildConfig generation in itagble module - Add missing connect() method to BLEPeripheralDefault to satisfy interface - Add missing REQUEST_ENABLE_LOCATION constant in MainActivity - Fix method name: isDisconnectAlert() → isDisconnectAlertOn() Co-Authored-By: Claude Opus 4.5 --- app/src/main/java/s4y/itag/BootReceiver.java | 2 +- app/src/main/java/s4y/itag/MainActivity.java | 3 ++- itagble/build.gradle | 4 ++++ itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java | 4 ++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/s4y/itag/BootReceiver.java b/app/src/main/java/s4y/itag/BootReceiver.java index 5d5a7d6..aeecd9f 100644 --- a/app/src/main/java/s4y/itag/BootReceiver.java +++ b/app/src/main/java/s4y/itag/BootReceiver.java @@ -22,7 +22,7 @@ public void onReceive(@NonNull Context context, @NonNull Intent intent) { "android.intent.action.QUICKBOOT_POWERON".equals(intent.getAction()) ) { ITagsStoreInterface store = new ITagsStoreDefault(ITagApplication.context); - if (store.isDisconnectAlert()) { + if (store.isDisconnectAlertOn()) { ITagsService.start(context); // expected to create application and thus init waytooday // and enter foreground diff --git a/app/src/main/java/s4y/itag/MainActivity.java b/app/src/main/java/s4y/itag/MainActivity.java index 8a4617f..b2cff72 100644 --- a/app/src/main/java/s4y/itag/MainActivity.java +++ b/app/src/main/java/s4y/itag/MainActivity.java @@ -54,6 +54,7 @@ public class MainActivity extends FragmentActivity { private static final int REQUEST_CODE_NOTIFICATION_PERMISSION = 123; static public final int REQUEST_ENABLE_BT = 1; static public final int REQUEST_ONSCAN = 2; + static public final int REQUEST_ENABLE_LOCATION = 3; public ITagsService iTagsService; public static boolean sIsShown = false; private static final String LT = MainActivity.class.getName(); @@ -199,7 +200,7 @@ protected void onPause() { disposableBag.dispose(); sIsShown = false; if (!exitting) { - if (ITag.store.isDisconnectAlert()) { + if (ITag.store.isDisconnectAlertOn()) { ITagsService.start(this); } else { ITagsService.stop(this); diff --git a/itagble/build.gradle b/itagble/build.gradle index a9429b9..e4dfed7 100644 --- a/itagble/build.gradle +++ b/itagble/build.gradle @@ -7,6 +7,10 @@ android { compileSdk 34 + buildFeatures { + buildConfig = true + } + defaultConfig { minSdkVersion 23 // due to mad-location-manager targetSdkVersion 34 diff --git a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java index 6ad1e8e..847e26b 100644 --- a/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java +++ b/itagble/src/main/java/s4y/itag/ble/BLEPeripheralDefault.java @@ -92,6 +92,10 @@ public String identifier() { @Override + public void connect() { + connect(false); + } + public void connect(boolean auto) { if (debug) { Log.d(LT, "connect id=" + identifier());