Skip to content

indiser/Sticker-Vault-App

Repository files navigation

Sticker Vault

A modern Android application for managing and sharing sticker packs with WhatsApp. Built with Material Design principles and optimized for seamless user experience.

Features

  • Multiple Sticker Packs: Browse and manage multiple sticker collections
  • WhatsApp Integration: Seamlessly add sticker packs to WhatsApp
  • Animated Stickers: Support for animated WebP sticker packs
  • Publisher Information: View publisher details, website, and contact information
  • Multilingual Support: 50+ language translations
  • Optimized Performance: Efficient image loading with Fresco library
  • Content Provider: Secure sticker pack distribution via ContentProvider

Tech Stack

  • Language: Java
  • Minimum SDK: Android 5.0 (API 21)
  • Target SDK: Android 14 (API 34)
  • Build System: Gradle 9.1.1
  • Architecture: MVP with AsyncTask for background operations

Key Dependencies

  • AndroidX: AppCompat, RecyclerView, ConstraintLayout
  • Fresco: Advanced image loading and caching (v2.5.0)
  • Material Design: Material Components library

Project Structure

app/
├── src/main/
│   ├── java/com/example/samplestickerapp/
│   │   ├── EntryActivity.java              # App entry point
│   │   ├── StickerPackListActivity.java    # Pack list view
│   │   ├── StickerPackDetailsActivity.java # Pack details view
│   │   ├── StickerPackInfoActivity.java    # Publisher info
│   │   ├── StickerPack.java                # Data model
│   │   ├── Sticker.java                    # Individual sticker model
│   │   ├── StickerPackLoader.java          # Asset loading
│   │   ├── StickerPackValidator.java       # Pack validation
│   │   ├── StickerContentProvider.java     # Content provider
│   │   └── WhitelistCheck.java             # WhatsApp integration
│   ├── assets/
│   │   ├── 1/, 2/, 3/                      # Sticker pack folders
│   │   └── contents.json                   # Pack metadata
│   └── res/
│       ├── layout/                         # UI layouts
│       ├── drawable/                       # Vector drawables
│       ├── values/                         # Strings & resources
│       └── mipmap/                         # App icons

Getting Started

Prerequisites

  • Android Studio (latest version)
  • JDK 1.8 or higher
  • Android SDK 34

Setup

  1. Clone the repository
  2. Open in Android Studio
  3. Update applicationId in app/build.gradle (line 10)
  4. Build and run on emulator or device

Build Configuration

The app includes build-time validation:

  • Debug builds: Require custom applicationId (not com.example.samplestickerapp)
  • Release builds: Require applicationId not starting with com.example

To skip validation, add to local.properties:

ignoreApplicationIdCheck=true

Sticker Pack Format

Sticker packs are organized in assets/ with the following structure:

assets/
├── 1/
│   ├── sticker_001.webp
│   ├── sticker_002.webp
│   └── tray_1.png
├── 2/
│   └── ...
└── contents.json

contents.json Schema

{
  "sticker_packs": [
    {
      "identifier": "pack_id",
      "name": "Pack Name",
      "author": "Author Name",
      "tray_image_file": "tray_1.png",
      "publish_email": "<email>",
      "publish_website": "<website>",
      "privacy_policy_website": "<url>",
      "license_agreement_website": "<url>",
      "image_data_version": "1",
      "avoid_cache": false,
      "animated_sticker_pack": false,
      "stickers": [
        {
          "image_file": "sticker_001.webp",
          "emojis": ["😀"]
        }
      ]
    }
  ]
}

Key Classes

EntryActivity

Entry point that loads sticker packs asynchronously and routes to appropriate view (list or details).

StickerPackListActivity

Displays all available sticker packs in a RecyclerView with add-to-WhatsApp functionality.

StickerPackDetailsActivity

Shows individual pack details with sticker preview grid and pack information.

StickerContentProvider

Provides secure access to sticker pack data for WhatsApp integration.

StickerPackValidator

Validates sticker pack integrity and WhatsApp compatibility.

Permissions

The app requires WhatsApp to be installed for full functionality:

  • com.whatsapp - Standard WhatsApp
  • com.whatsapp.w4b - WhatsApp Business

Build & Release

Debug Build

./gradlew assembleDebug

Release Build

./gradlew assembleRelease

Ensure applicationId is updated before release builds.

Localization

The app supports 50+ languages with translations in res/values-[locale]/strings.xml.

License

Licensed under the BSD-style license. See LICENSE file for details.

Copyright

Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.


Note: This is a sample sticker app template. Customize the sticker packs, publisher information, and branding before publishing to app stores.

About

Modern Android sticker pack manager with WhatsApp integration, animated sticker support, and 50+ language translations.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages