package de.devland.masterpassword.service;
import android.app.Activity;
import android.app.Service;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import de.devland.esperandro.Esperandro;
import de.devland.masterpassword.App;
import de.devland.masterpassword.R;
import de.devland.masterpassword.base.util.SnackbarUtil;
import de.devland.masterpassword.prefs.DefaultPrefs;
public class ClearClipboardService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
DefaultPrefs defaultPrefs = Esperandro.getPreferences(DefaultPrefs.class,
getApplicationContext());
Handler handler = new Handler();
final ClipboardManager clipboard = (ClipboardManager) getApplicationContext().getSystemService(
Context.CLIPBOARD_SERVICE);
int clipboardDuration = Integer.parseInt(defaultPrefs.clipboardDuration());
Activity activity = App.get().getCurrentForegroundActivity();
if (clipboardDuration > 0) {
if (activity != null) {
SnackbarUtil.showShort(activity, String.format(getApplicationContext().getString(
R.string.copiedToClipboardWithDuration),
clipboardDuration));
}
handler.postDelayed(new Runnable() {
@Override
public void run() {
ClipData clip = ClipData.newPlainText("", "");
clipboard.setPrimaryClip(clip);
stopSelf();
}
}, clipboardDuration * 1000);
} else {
if (activity != null) {
SnackbarUtil.showShort(activity, R.string.copiedToClipboard);
}
}
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
}