// Path: app/src/main/java/app/openconnect/core/OpenVpnService.java
// public class LocalBinder extends Binder {
// 	public OpenVpnService getService() {
// 		// Return this instance of LocalService so clients can call public methods
// 		return OpenVpnService.this;
// 	}
// }


import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import app.openconnect.R;
import app.openconnect.core.OpenVpnService.LocalBinder;
import org.infradead.libopenconnect.LibOpenConnect.VPNStats;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
		}
		mContext.unbindService(mConnection);
	}

	public String getByteCountSummary() {
		if (!statsValid) {
			return "";
		}
		return mContext.getString(R.string.statusline_bytecount,
				OpenVpnService.humanReadableByteCount(newStats.rxBytes, false),
				OpenVpnService.humanReadableByteCount(deltaStats.rxBytes, true),
				OpenVpnService.humanReadableByteCount(newStats.txBytes, false),
				OpenVpnService.humanReadableByteCount(deltaStats.txBytes, true));
	}

	private ServiceConnection mConnection = new ServiceConnection() {

		@Override
		public void onServiceConnected(ComponentName className, IBinder serviceBinder) {
			// We've bound to LocalService, cast the IBinder and get
			// LocalService instance
			LocalBinder binder = (LocalBinder) serviceBinder;
			service = binder.getService();
			service.updateActivityRefcount(mIsActivity ? 1 : 0);
			onUpdate(service);
		}

		@Override
		public void onServiceDisconnected(ComponentName arg0) {
			service = null;
// Path: app/src/main/java/app/openconnect/core/OpenVpnService.java
// public class LocalBinder extends Binder {
// 	public OpenVpnService getService() {
// 		// Return this instance of LocalService so clients can call public methods
// 		return OpenVpnService.this;
// 	}
// }


// Path: app/src/main/java/app/openconnect/core/VPNConnector.java
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import app.openconnect.R;
import app.openconnect.core.OpenVpnService.LocalBinder;
import org.infradead.libopenconnect.LibOpenConnect.VPNStats;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;

		}
		mContext.unbindService(mConnection);
	}

	public String getByteCountSummary() {
		if (!statsValid) {
			return "";
		}
		return mContext.getString(R.string.statusline_bytecount,
				OpenVpnService.humanReadableByteCount(newStats.rxBytes, false),
				OpenVpnService.humanReadableByteCount(deltaStats.rxBytes, true),
				OpenVpnService.humanReadableByteCount(newStats.txBytes, false),
				OpenVpnService.humanReadableByteCount(deltaStats.txBytes, true));
	}

	private ServiceConnection mConnection = new ServiceConnection() {

		@Override
		public void onServiceConnected(ComponentName className, IBinder serviceBinder) {
			// We've bound to LocalService, cast the IBinder and get
			// LocalService instance
			LocalBinder binder = (LocalBinder) serviceBinder;
			service = binder.getService();
			service.updateActivityRefcount(mIsActivity ? 1 : 0);
			onUpdate(service);
		}

		@Override
		public void onServiceDisconnected(ComponentName arg0) {
			service = null;
			Log.w(TAG, mOwnerName + " was forcibly unbound from OpenVpnService");