import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
+import android.os.Looper;
import android.os.Message;
import android.os.SystemClock;
{
/* this handler allows us to notify listeners from the UI thread and
* not from the threads that actually report any state changes */
- mHandler = new RetryHandler(this);
+ mHandler = new RetryHandler(getMainLooper(), this);
}
@Override
private static class RetryHandler extends Handler {
WeakReference<VpnStateService> mService;
- public RetryHandler(VpnStateService service)
+ public RetryHandler(Looper looper, VpnStateService service)
{
+ super(looper);
mService = new WeakReference<>(service);
}
import android.os.Bundle;
import android.os.FileObserver;
import android.os.Handler;
+import android.os.Looper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
mLogFilePath = getActivity().getFilesDir() + File.separator + CharonVpnService.LOG_FILE;
- mLogHandler = new Handler();
+ mLogHandler = new Handler(Looper.getMainLooper());
mDirectoryObserver = new LogDirectoryObserver(getActivity().getFilesDir().getAbsolutePath());
}