Files
android_development/samples/ThemedNavBarKeyboard/Android.mk
Yohei Yukawa 45ef8b0a9e Add ThemedNavBarKeyboard sample
This CL adds a sample IME that demonstrates how an IME can now control
the appearance of bottom navigation bar like typical Activities can
do.

This sample IME covers the following 3 use cases to control the
appearance of bottom navigation bar.

A. (Bottom) navigation bar has solid background color.
    Like typical Activities, IMEs can
    - call Window#setNavigationBarColor() to change the background
      color. (Bug 25706186)
    - set SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR to tell the SysUI to
      optimize the navigation bar button colors. (Bug 69002467)

B. (Bottom) navigation background is seamlessly extended from the main
   InputView of the IME, like typical Activities can do with
   SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.  Note that essentially this
   is a super set of the mode A, because IMEs (and apps) can also fill
   the navigation bar region with a solid color in this mode.

C. The appearance of (bottom) navigation bar is controlled by the
   target application, not by the IME.
   - This is useful for floating IME (Bug 22564251).

Bug: 25706186
Bug: 69002467
Test: Build and manually test as follows.
  1. make -j ThemedNavBarKeyboard
  2. adb install -r $OUT/system/app/ThemedNavBarKeyboard/ThemedNavBarKeyboard.apk
  3. adb shell ime enable com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard
  4. adb shell ime set com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard
Change-Id: I4b10a19641bd3ce6c43e7629404b6f202d4186e8
2017-12-25 16:45:24 -08:00

31 lines
862 B
Makefile
Executable File

#
# Copyright (C) 2017 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.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := samples
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := ThemedNavBarKeyboard
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)