/android-textoverlay

Provides a simple service that allows to display arbitrary text as a system-window overlay.

Primary LanguageJavaApache License 2.0Apache-2.0

Android TextOverlay

Download Android Arsenal License Build Status

This library provides a simple service that allows to display arbitrary text as a system-window overlay.

It can be used to display debugging information in the debug build of your app so that every screenshot that QA or beta testers do will automatically include the product flavor or build type of your APK. You can provide additional information such as the Git commit hash or arbitrary strings easily:

Overlay Updated overlay

Usage

You can start / stop the text overlay service the default way in your activities:

@Override
protected void onStart() {
    super.onStart();
    startService(new Intent(this, TextOverlayService.class));
}

@Override
protected void onDestroy() {
    stopService(new Intent(this, TextOverlayService.class));
    super.onDestroy();
}

A more convenient way is to use the include activity lifecycle callbacks in your app's application sub-class:

public class Application extends android.app.Application {
    @Override
    public void onCreate() {
        super.onCreate();
        registerActivityLifecycleCallbacks(new TextOverlayActivityLifecycleCallbacks());
    }
}

Furthermore, you can declare the service in your AndroidManifest.xml to provide additional parameters. This is entirely optional as the library will provide a default declaration for you:

<service
    android:name=".service.TextOverlayService"
    android:exported="false" />

Either way, you have to declare the SYSTEM_ALERT_WINDOW permission in you manifest. The library does not do that for you since you may only want to use the text overlay service in specific flavors or build types:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

On API level 23 or later, you will have to ask the user to grant this permission. However, the provided TextOverlayActivityLifecycleCallbacks will handle that for you.

Check out the provided example applications for different ways to use this library:

  • textoverlay-activity-example
  • textoverlay-lifecycle-example

Download

compile 'saschpe.android:textoverlay:1.1.1'

Snapshots of the development version are available in Sonatype's snapshots repository.

License

Copyright 2016 Sascha Peilicke

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.