1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.launcher3; 18 19 import android.content.Intent; 20 import android.os.Bundle; 21 22 import java.io.FileDescriptor; 23 import java.io.PrintWriter; 24 25 /** 26 * LauncherCallbacks is an interface used to extend the Launcher activity. It includes many hooks 27 * in order to add additional functionality. Some of these are very general, and give extending 28 * classes the ability to react to Activity life-cycle or specific user interactions. Others 29 * are more specific and relate to replacing parts of the application, for example, the search 30 * interface or the wallpaper picker. 31 */ 32 public interface LauncherCallbacks { 33 34 /* 35 * Activity life-cycle methods. These methods are triggered after 36 * the code in the corresponding Launcher method is executed. 37 */ onCreate(Bundle savedInstanceState)38 void onCreate(Bundle savedInstanceState); onResume()39 void onResume(); onStart()40 void onStart(); onStop()41 void onStop(); onPause()42 void onPause(); onDestroy()43 void onDestroy(); onSaveInstanceState(Bundle outState)44 void onSaveInstanceState(Bundle outState); onActivityResult(int requestCode, int resultCode, Intent data)45 void onActivityResult(int requestCode, int resultCode, Intent data); onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)46 void onRequestPermissionsResult(int requestCode, String[] permissions, 47 int[] grantResults); onAttachedToWindow()48 void onAttachedToWindow(); onDetachedFromWindow()49 void onDetachedFromWindow(); dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args)50 void dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args); onHomeIntent(boolean internalStateHandled)51 void onHomeIntent(boolean internalStateHandled); handleBackPressed()52 boolean handleBackPressed(); onTrimMemory(int level)53 void onTrimMemory(int level); 54 55 /** 56 * Called when the launcher state changed 57 */ onStateChanged()58 default void onStateChanged() { } 59 60 /* 61 * Extension points for providing custom behavior on certain user interactions. 62 */ onLauncherProviderChange()63 void onLauncherProviderChange(); 64 65 /** 66 * Starts a search with {@param initialQuery}. Return false if search was not started. 67 */ startSearch( String initialQuery, boolean selectInitialQuery, Bundle appSearchData)68 boolean startSearch( 69 String initialQuery, boolean selectInitialQuery, Bundle appSearchData); 70 } 71