package io.github.mthli.Ninja.Service; import android.app.Notification; import android.app.Service; import android.content.Intent; import android.net.Uri; import android.os.IBinder; import android.os.Message; import android.view.View; import android.webkit.ValueCallback; import android.webkit.WebChromeClient; import android.webkit.WebView; import io.github.mthli.Ninja.Browser.AlbumController; import io.github.mthli.Ninja.Browser.BrowserContainer; import io.github.mthli.Ninja.Browser.BrowserController; import io.github.mthli.Ninja.R; import io.github.mthli.Ninja.Unit.*; import io.github.mthli.Ninja.View.NinjaContextWrapper; import io.github.mthli.Ninja.View.NinjaWebView; public class HolderService extends Service implements BrowserController { @Override public void updateAutoComplete() {} @Override public void updateBookmarks() {} @Override public void updateInputBox(String query) {} @Override public void updateProgress(int progress) {} @Override public void showAlbum(AlbumController albumController, boolean anim, boolean expand, boolean capture) {} @Override public void removeAlbum(AlbumController albumController) {} @Override public void openFileChooser(ValueCallback<Uri> uploadMsg) {} @Override public void showFileChooser(ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {} @Override public void onCreateView(WebView view, Message resultMsg) {} @Override public boolean onShowCustomView(View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback) { return true; } @Override public boolean onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) { return true; } @Override public boolean onHideCustomView() { return true; } @Override public void onLongPress(String url) {} @Override public int onStartCommand(Intent intent, int flags, int startId) { NinjaWebView webView = new NinjaWebView(new NinjaContextWrapper(this)); webView.setBrowserController(this); webView.setFlag(BrowserUnit.FLAG_NINJA); webView.setAlbumCover(null); webView.setAlbumTitle(getString(R.string.album_untitled)); ViewUnit.bound(this, webView); webView.loadUrl(RecordUnit.getHolder().getURL()); webView.deactivate(); BrowserContainer.add(webView); updateNotification(); return START_STICKY; } @Override public void onDestroy() { if (IntentUnit.isClear()) { BrowserContainer.clear(); } stopForeground(true); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { return null; } private void updateNotification() { Notification notification = NotificationUnit.getHBuilder(this).build(); startForeground(NotificationUnit.HOLDER_ID, notification); } }