Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meharbhutta/react-native-manage-wallpaper
Android wallpaper manager for changing wallpaper.
https://github.com/meharbhutta/react-native-manage-wallpaper
Last synced: about 17 hours ago
JSON representation
Android wallpaper manager for changing wallpaper.
- Host: GitHub
- URL: https://github.com/meharbhutta/react-native-manage-wallpaper
- Owner: meharbhutta
- License: mit
- Created: 2019-11-24T11:22:55.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-08-19T21:00:04.000Z (about 1 year ago)
- Last Synced: 2024-09-23T15:17:32.628Z (about 2 months ago)
- Language: Java
- Size: 261 KB
- Stars: 19
- Watchers: 2
- Forks: 7
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# react-native-manage-wallpaper
Android wallpaper manager for changing wallpaper.
## NPM
- stable release version: ![version](https://img.shields.io/badge/version-1.2.1-blue.svg?cacheSeconds=2592000)
- package downloads: ![downloads](https://img.shields.io/badge/downloads-22%2Fweek-brightgreen.svg?cacheSeconds=2592000)
- [![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)## Getting started
### Installation
- Using yarn
`$ yarn add react-native-manage-wallpaper`
- Using npm
`$ npm install react-native-manage-wallpaper --save`
### Basic Usage
#### Note: You must be using React Native 0.60.0 or higher
- Initialization of a react-native project
`$ npx react-native init AwesomeProject`
### Note: [GUIDE](https://facebook.github.io/react-native/docs/getting-started)
- Then, edit `AwesomeProject/App.js`, like this:
```javascript
import { View, TouchableOpacity, Text } from 'react-native';
import ManageWallpaper, { TYPE } from 'react-native-manage-wallpaper';function App() {
const callback = res => {
console.log('Response: ', res);
};const setWallpaper = () => {
ManageWallpaper.setWallpaper(
{
uri: 'https://i.pinimg.com/originals/76/5e/1d/765e1dc8cb1cc115fb3b0b39a895fdeb.jpg',
},
callback,
TYPE.HOME,
);
};return (
Change Home Wallpaper
);
}const styles = StyleSheet.create({
VIEW: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#FFFFFF',
},
BUTTON: {
paddingHorizontal: 30,
paddingVertical: 8,
marginBottom: 24,
borderRadius: 16,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#000000',
},
TEXT: {
fontSize: 20,
margin: 10,
textAlign: 'center',
color: '#ffffff',
},
});export default App;
```### Are you using Glide already using an AppGlideModule?
Removing RNGlideModule from `react-native-manage-wallpaper`
If you are using Glide within your application using an AppGlideModule then you will need to prevent the inclusion of the AppGlideModule in this package.To accomplish this you can add to `android/build.gradle`:
```
project.ext {
excludeRNGlideModule = true
}
```### Arguments Type
Type of arguments for `setWallpaper(source, callback, type)`
#### source
The image source (either a remote URL or a local file resource).
The currently supported formats are `png`, `jpg`, `jpeg`, `gif`.
e.g.
RemoteURL: { uri: 'remote url' }
LocalFileURL: { uri: 'file:///local_file_url' }
Local: require('path to local file with extension')#### callback
Callback receive a response object ({ status, msg, url }).
1. status:
"error" string in case of handled error
OR
"success" string in case of successful setting of wallpaper.
2. msg: description related to status
3. url: resource url#### type
The wallpaper setting type (home, lock or both).
e.g.
Firstly,```javascript
import { TYPE } from 'react-native-manage-wallpaper';
```Then,
For Home use TYPE.HOME
For Lock use TYPE.LOCK
For Home & Lock use TYPE.BOTH##### Note: No support for setting wallpaper on Lock Screen for android version < 24 (Nougat).
### To run example
```bash
cd example
yarn or npm install
npx react-native run-android
```#### In case of any issue follow the [GUIDE](https://facebook.github.io/react-native/docs/getting-started).
### Supported React Native Versions
This project only aims to support the latest version of React Native.
This simplifies the development and the testing of the project.If you require new features or bug fixes for older versions you can fork this project.
### Credits
The idea for this modules came from liuhong1happy react-native-wallpaper-manager package. It also uses Glide, but didn't have some features I needed (home, lock, both).
### Licenses
ManageWallPaper - MIT © MeharBhutta
Glide - BSD, part MIT and Apache 2.0. See the LICENSE file for details.