npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rn-power-optimization-prompt

v0.1.0

Published

Show a dialog prompting the user to go to their phone's power optimization settings, depending on their device, where they can set exclude their phone from power optimization which usually stops the phone from receiving notifications when the screen is of

Downloads

14

Readme

rn-power-optimization-prompt

This plugin should allow your React Native application to show a dialog to users prompting them to "exclude" your application from power optimization settings such as Huawei's "Protected Apps" system or OPPO's "Data Saving" system. By accepting the prompt the user is taken directly to the relevant settings screen where they can "exclude" their application.

This only concerns a few Android phones from specific manufacturers. These are the currently supported manufacturers:

  • HUAWEI
  • OPPO
  • ASUS
  • XIAOMI
  • LETV
  • VIVO
  • SAMSUNG
  • HTC

There is no guarantee that this plugin will work with all versions of all phones made by these manufacturers.

Notes & limitations

This plugin cannot detect if the user has already "excluded" your application. The prompt dialog will be shown under the following conditions:

  1. The device the application is running on is a relevant device concerned by this module AND
  2. "Do not show again" checkbox hasn't been checked yet

It is not necessary to check for Platform.OS === 'android' as the module wrapper does this for you already

Getting started

npm users: $ npm install rn-power-optimization-prompt

yarn users: $ yarn add rn-power-optimization-prompt

Mostly automatic installation

$ react-native link rn-power-optimization-prompt

Using react native link should be enough most of the time. In case there is any trouble with this plugin after linking, please check the manual installation guide and make sure everything is in order.

Manual installation

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.killserver.PowerOptimizationPromptPackage; to the imports at the top of the file
  • Add new PowerOptimizationPromptPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':rn-power-optimization-prompt'
    project(':rn-power-optimization-prompt').projectDir = new File(rootProject.projectDir, 	'../node_modules/rn-power-optimization-prompt/android')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':rn-power-optimization-prompt')

Usage

import PowerOptimizationPrompt from 'rn-power-optimization-prompt';

const config = {
  title: "Power Optimization", //The title of the prompt dialog
  text: "Please check that your app is excluded from any power saving features", //The text of the prompt dialog
  doNotShowAgainText: "Do not show again", //The text to be shown next to the "don't show again" checkbox
  positiveText: "Power Optimization", /*The positive button text. When clicked, this button will take the user to the screen where they can "exclude" your application from any power optimization settings, depending on the device*/
  negativeText: "Cancel" //The negative button text
};

PowerOptimizationPrompt(config);