Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ef517bd authored by Guillaume Jacquart's avatar Guillaume Jacquart Committed by Guillaume Jacquart
Browse files

/e/ add check running sync action.

parent 630b9fdf
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -81,6 +81,10 @@ public interface OrbotConstants {
     * {@link Intent} send by Orbot with {@code ON/OFF/STARTING/STOPPING} status
     */
    String ACTION_STATUS = "org.torproject.android.intent.action.STATUS";

    String ACTION_CHECK_RUNNING_SYNC = "org.torproject.android.intent.action.CHECK_RUNNING_SYNC";
    String ACTION_RUNNING_SYNC = "org.torproject.android.intent.action.RUNNING_SYNC";

    /**
     * {@code String} that contains a status constant: {@link #STATUS_ON},
     * {@link #STATUS_OFF}, {@link #STATUS_STARTING}, or
+15 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
    //we should randomly sort alBridges so we don't have the same bridge order each time
    final Random bridgeSelectRandom = new Random(System.nanoTime());
    ActionBroadcastReceiver mActionBroadcastReceiver;
    private IsServiceRunningBroadcastReceiver mIsServiceRunningBroadcastReceiver;
    private String mCurrentStatus = STATUS_OFF;
    TorControlConnection conn = null;
    private ServiceConnection torServiceConnection;
@@ -249,6 +250,7 @@ public class OrbotService extends VpnService implements OrbotConstants {
    public void onDestroy() {
        try {
            unregisterReceiver(mActionBroadcastReceiver);
            LocalBroadcastManager.getInstance(this).unregisterReceiver(mIsServiceRunningBroadcastReceiver);
        } catch (IllegalArgumentException iae) {
            //not registered yet
        }
@@ -480,6 +482,11 @@ public class OrbotService extends VpnService implements OrbotConstants {
            mActionBroadcastReceiver = new ActionBroadcastReceiver();
            registerReceiver(mActionBroadcastReceiver, filter);

            mIsServiceRunningBroadcastReceiver = new IsServiceRunningBroadcastReceiver();
            LocalBroadcastManager.getInstance(this).registerReceiver(
                    mIsServiceRunningBroadcastReceiver,
                    new IntentFilter(ACTION_CHECK_RUNNING_SYNC));

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                createNotificationChannel();

@@ -1505,4 +1512,12 @@ public class OrbotService extends VpnService implements OrbotConstants {
        LocalBroadcastManager.getInstance(OrbotService.this).sendBroadcast(localStatus); // update the activity with what's new
    }

    private class IsServiceRunningBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent resIntent = new Intent(ACTION_RUNNING_SYNC);
            resIntent.putExtra(EXTRA_STATUS, mCurrentStatus);
            LocalBroadcastManager.getInstance(context).sendBroadcastSync(resIntent);
        }
    }
}