IntegrationPreference

Additional

Language
Java
Version
0.2 (Dec 4, 2015)
Created
Oct 14, 2015
Updated
Sep 30, 2018 (Retired)
Owner
Said Tahsin Dane (tasomaniac)
Contributors
Jan Heinrich Reimer (heinrichreimer)
Said Tahsin Dane (tasomaniac)
Tomer Rosenfeld (rosenpin)
3
Activity
Badge
Generate
Download
Source code

IntegrationPreference

This library is especially for extension apps developers. Some applications like (Muzei, Series Guide) has extension capabilities. You can use their SDK to integrate your app into theirs. Or your app may need another app to be installed on the device.

Those can be rare cases but this library is just for you.

You put IntegrationPreference into your preference XML file and it checks the given Intent inside its XML tags. If it cannot find the application to handle that Intent, it opens Play Store on click to install the required application.

Usage

Detailed usage can be found in the sample project and in the following applications.

For the basic usage, you need to add IntegrationPreference into your preference xml like below.

    <com.tasomaniac.android.widget.IntegrationPreference
      android:title="Preference Title"
      android:key="pref_key"
      android:summaryOff="Description to shown when the Intent is found."
      android:summaryOn="Click here to install the required app.">

      <intent
        android:targetClass="com.google.android.apps.muzei.settings.SettingsActivity"
        android:targetPackage="net.nurik.roman.muzei"/>

    </com.tasomaniac.android.widget.IntegrationPreference>

And in your PreferenceFragment or PreferenceActivity you can add these to functions into you onResume and onPause methods to enable automatic detecting of application installs.

    @Override
    protected void onResume() {
        super.onResume();

        integrationPreference.resume();
    }

    @Override
    protected void onPause() {
        super.onPause();

        integrationPreference.pause();
    }

For other configurations and manual Intent handling, please refer to the sample project.

Download

Dependency for native PreferenceActivity and PreferenceFragment

compile 'com.tasomaniac:integrationpreference:0.2'

Dependency for support versions.

compile 'com.tasomaniac:integrationpreference-support:0.2'

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

License

Copyright (C) 2015 Said Tahsin Dane

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.