From 79d90c558f8509be546a2053c87a3827db93047c Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Fri, 22 Apr 2016 13:29:20 -0700 Subject: [PATCH] Define a set of methods on Launcher which can be safely called externally -> The methods are defined by an interface, LauncherExterns, which Launcher implements Change-Id: I61362761f5d90fbc3011ce000944768d5ab29d43 --- src/com/android/launcher3/Launcher.java | 6 ++-- .../android/launcher3/LauncherCallbacks.java | 16 ++++++++++ .../android/launcher3/LauncherExterns.java | 32 +++++++++++++++++++ 3 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/com/android/launcher3/LauncherExterns.java diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 4e379a1d08..51df013f54 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -136,8 +136,8 @@ import java.util.Locale; * Default launcher application. */ public class Launcher extends Activity - implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks, - View.OnTouchListener, LauncherProviderChangeListener, + implements LauncherExterns, View.OnClickListener, OnLongClickListener, + LauncherModel.Callbacks, View.OnTouchListener, LauncherProviderChangeListener, AccessibilityManager.AccessibilityStateChangeListener { public static final String TAG = "Launcher"; static final boolean LOGD = false; @@ -1842,7 +1842,7 @@ public class Launcher extends Activity return mModel; } - protected SharedPreferences getSharedPrefs() { + public SharedPreferences getSharedPrefs() { return mSharedPrefs; } diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java index 89eef60ad1..34117b6b18 100644 --- a/src/com/android/launcher3/LauncherCallbacks.java +++ b/src/com/android/launcher3/LauncherCallbacks.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package com.android.launcher3; import android.content.Intent; diff --git a/src/com/android/launcher3/LauncherExterns.java b/src/com/android/launcher3/LauncherExterns.java new file mode 100644 index 0000000000..c7a8668dee --- /dev/null +++ b/src/com/android/launcher3/LauncherExterns.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3; + +import android.content.SharedPreferences; + +/** + * This interface defines the set of methods that the Launcher activity exposes. Methods + * here should be safe to call from classes outside of com.android.launcher3.* + */ +public interface LauncherExterns { + + public boolean setLauncherCallbacks(LauncherCallbacks callbacks); + + public SharedPreferences getSharedPrefs(); + + public void setLauncherOverlay(Launcher.LauncherOverlay overlay); +}