Commit 5aa40421 authored by Clark DuVall's avatar Clark DuVall Committed by Commit Bot

Convert BookmarkWidgetService to split compat

This service extends RemoteViewsService, so a new SplitCompat equivalent
has been added.

Review from Patchset 1 to get the right diffs on the changes in
RemoteViewsServiceImpl (there are a few git cl format changes).

Bug: 1126301
Change-Id: I6a800b7fa7191b238424b1f5476afb5d83e41717
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2458908Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815001}
parent 2cf778de
......@@ -2072,8 +2072,10 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatRemoteViewsService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatUtils.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetService.java",
"java/src/org/chromium/chrome/browser/crash/MinidumpUploadService.java",
"java/src/org/chromium/chrome/browser/download/DownloadBroadcastManager.java",
"java/src/org/chromium/chrome/browser/download/DownloadForegroundService.java",
......
......@@ -162,7 +162,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProvider.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProxy.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetService.java",
"java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetServiceImpl.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesMetrics.java",
"java/src/org/chromium/chrome/browser/browserservices/BrowserServicesStore.java",
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.base;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViewsService;
/**
* RemoteViewsService base class which will call through to the given {@link Impl}. This class must
* be present in the base module, while the Impl can be in the chrome module.
*/
public class SplitCompatRemoteViewsService extends RemoteViewsService {
private String mServiceClassName;
private Impl mImpl;
public SplitCompatRemoteViewsService(String serviceClassName) {
mServiceClassName = serviceClassName;
}
@Override
protected void attachBaseContext(Context context) {
context = SplitCompatUtils.createChromeContext(context);
mImpl = (Impl) SplitCompatUtils.newInstance(context, mServiceClassName);
mImpl.setService(this);
super.attachBaseContext(context);
}
@Override
public RemoteViewsFactory onGetViewFactory(Intent intent) {
return mImpl.onGetViewFactory(intent);
}
/**
* Holds the implementation of service logic. Will be called by {@link
* SplitCompatRemoteViewsService}.
*/
public abstract static class Impl {
private SplitCompatRemoteViewsService mService;
protected final void setService(SplitCompatRemoteViewsService service) {
mService = service;
}
protected final SplitCompatRemoteViewsService getService() {
return mService;
}
public abstract RemoteViewsFactory onGetViewFactory(Intent intent);
}
}
......@@ -66,7 +66,7 @@ public class BookmarkWidgetProvider extends AppWidgetProvider {
public void onDeleted(Context context, int[] appWidgetIds) {
super.onDeleted(context, appWidgetIds);
for (int widgetId : appWidgetIds) {
BookmarkWidgetService.deleteWidgetState(widgetId);
BookmarkWidgetServiceImpl.deleteWidgetState(widgetId);
}
removeOrphanedStates(context);
}
......@@ -100,7 +100,7 @@ public class BookmarkWidgetProvider extends AppWidgetProvider {
AppWidgetManager wm = AppWidgetManager.getInstance(context);
int[] ids = wm.getAppWidgetIds(getComponentName(context));
for (int id : ids) {
BookmarkWidgetService.deleteWidgetState(id);
BookmarkWidgetServiceImpl.deleteWidgetState(id);
}
}
......
......@@ -21,8 +21,8 @@ public class BookmarkWidgetProxy extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (BookmarkWidgetService.getChangeFolderAction().equals(intent.getAction())) {
BookmarkWidgetService.changeFolder(intent);
if (BookmarkWidgetServiceImpl.getChangeFolderAction().equals(intent.getAction())) {
BookmarkWidgetServiceImpl.changeFolder(intent);
} else {
Intent view = new Intent(intent);
view.setClass(context, ChromeLauncherActivity.class);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment