Files
Overgram4A/setup-project.sh
overspend1 006e9c6a75 feat: implement liquid glass design and update branding
## Major Features

### Liquid Glass Design System
- Implemented complete glassmorphism framework with real blur effects
- Added 6 stunning presets (Subtle, Standard, Heavy, Frosted, Crystal, Midnight)
- GPU-accelerated blur rendering using Telegram's optimized utilities
- Full configuration UI with blur radius and opacity controls
- Smart caching system to maintain 60 FPS performance
- Color matrix adjustments for saturation and brightness

### Ghost Mode Safety Warning
- Added ban risk warning dialog when enabling ghost mode
- Warns users about potential ToS violations
- Red "Enable Anyway" button to emphasize danger
- Translated to 6 languages (EN, BE, ES, PT, RU, UK)
- No warning when disabling (safe action)

### Complete Rebranding (AyuGram → Overgram)
- Renamed all packages from com.radolyn.ayugram to com.overspend1.overgram
- Updated 52 Java files with new copyright headers
- Replaced all Ayu* classes with Over* equivalents
- Updated all string resources across 6 languages
- Renamed ayu_ghost.xml to over_ghost.xml

### Support & Contact Updates
- Updated official channel IDs (@overgramupdates, @overgramchat)
- Added developer ID (@overspend1: 6618397068)
- Changed APP_GITHUB to overspend1/Overgram4A
- Removed old AyuGram channel references
- Updated all support links and contact information

## New Files

### Liquid Glass Core
- GlassParameters.java - Configuration holder for blur effects
- LiquidGlassPreset.java - 6 predefined style presets
- LiquidGlassEffect.java - Main blur rendering engine
- LiquidGlassPreferencesActivity.java - Settings UI

### Overgram Package (52 files)
- Complete package structure renamed and reorganized
- All proprietary implementations included
- Full database and sync infrastructure

### Documentation & Scripts
- BRANDING_CUSTOMIZATION_GUIDE.md - Rebranding guide
- setup-project.sh - Project initialization script
- rebrand-to-overgram.sh - Automated rebranding script
- cleanup-branding.sh - Resource cleanup script
- Auto-release GitHub workflow with Telegram bot integration

## Configuration Changes

### OverConfig.java
- Added liquid glass settings (enabled, presets, blur, opacity)
- Added apply to chat bubbles/dialogs toggles
- Maintained backward compatibility with existing preferences

### Constants
- Updated OFFICIAL_CHANNELS with Overgram channel IDs
- Updated DEVS array with @overspend1 ID
- Changed APP_GITHUB reference

### Resources
- Added 15+ new strings for Liquid Glass UI
- Added ghost mode warning strings in 6 languages
- Updated all watermarks and descriptions

## Performance
- Liquid Glass uses GPU acceleration
- Smart caching reduces redundant blur operations
- Adaptive quality during animations
- No performance impact when disabled
2025-12-02 14:29:01 +01:00

221 lines
7.0 KiB
Bash
Executable File

#!/bin/bash
# Overgram Project Setup Script
# Sets up missing files and configurations for building
set -e
echo "🚀 Overgram Project Setup"
echo "========================="
echo ""
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Check if API_KEYS exists
echo "📋 Step 1: Check API_KEYS file"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "API_KEYS" ]; then
echo -e "${GREEN}✅ API_KEYS file exists${NC}"
else
echo -e "${YELLOW}⚠️ API_KEYS file missing${NC}"
echo ""
echo "Creating API_KEYS template..."
cat > API_KEYS <<'EOF'
# Overgram API Configuration
# Get your API credentials at: https://my.telegram.org/apps
APP_ID = 6
APP_HASH = "eb06d4abfb49dc3eeb1aeb98ae0f581e"
# Google Maps API Key (optional)
# Get it at: https://console.cloud.google.com/apis/credentials
MAPS_V2_API = ""
# APK Signing Configuration (optional, for local builds)
# These are only used if you don't have keystore.properties
SIGNING_KEY_PASSWORD = ""
SIGNING_KEY_ALIAS = ""
SIGNING_KEY_STORE_PASSWORD = ""
EOF
echo -e "${GREEN}✅ Created API_KEYS template${NC}"
echo ""
echo -e "${BLUE}📝 IMPORTANT: Edit API_KEYS file with your credentials:${NC}"
echo " 1. Get API credentials at: https://my.telegram.org/apps"
echo " 2. Replace APP_ID and APP_HASH with your values"
echo " 3. (Optional) Add Google Maps API key"
echo ""
fi
# Check proprietary classes
echo ""
echo "📋 Step 2: Check proprietary classes"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
AYUGRAM_DIR="TMessagesProj/src/main/java/com/radolyn/ayugram/proprietary"
if [ -d "$AYUGRAM_DIR" ] && [ -f "$AYUGRAM_DIR/AyuMessageUtils.java" ]; then
echo -e "${GREEN}✅ Proprietary classes exist${NC}"
else
echo -e "${YELLOW}⚠️ Proprietary classes missing${NC}"
echo ""
echo "Creating stub implementations..."
mkdir -p "$AYUGRAM_DIR"
# Create AyuMessageUtils stub
cat > "$AYUGRAM_DIR/AyuMessageUtils.java" <<'EOF'
package com.radolyn.ayugram.proprietary;
import org.telegram.tgnet.TLRPC;
/**
* Stub implementation of AyuMessageUtils
* Replace this with the actual implementation if you have access to it.
*/
public class AyuMessageUtils {
public static void processMessage(TLRPC.Message message) {
// Stub: Do nothing
}
public static void saveMessageHistory(TLRPC.Message message) {
// Stub: Do nothing
}
}
EOF
# Create AyuHistoryHook stub
cat > "$AYUGRAM_DIR/AyuHistoryHook.java" <<'EOF'
package com.radolyn.ayugram.proprietary;
import org.telegram.tgnet.TLRPC;
/**
* Stub implementation of AyuHistoryHook
* Replace this with the actual implementation if you have access to it.
*/
public class AyuHistoryHook {
public static void onMessageReceived(TLRPC.Message message) {
// Stub: Do nothing
}
public static void onMessageEdited(TLRPC.Message oldMessage, TLRPC.Message newMessage) {
// Stub: Do nothing
}
public static void onMessageDeleted(TLRPC.Message message) {
// Stub: Do nothing
}
}
EOF
echo -e "${GREEN}✅ Created stub implementations${NC}"
echo ""
echo -e "${YELLOW}⚠️ NOTE: These are stub implementations.${NC}"
echo " If you have the actual implementations, replace these files."
echo " The app will build but history features won't work properly."
echo ""
fi
# Check keystore
echo ""
echo "📋 Step 3: Check APK signing configuration"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "keystore.properties" ]; then
echo -e "${GREEN}✅ keystore.properties exists${NC}"
else
if [ -f "TMessagesProj/config/extera.jks" ]; then
echo -e "${YELLOW}⚠️ keystore.properties missing but extera.jks found${NC}"
echo ""
echo "Creating keystore.properties for extera.jks..."
cat > keystore.properties <<'EOF'
# Using existing extera.jks keystore
storeFile=TMessagesProj/config/extera.jks
storePassword=radolyn
keyAlias=extera
keyPassword=radolyn
EOF
echo -e "${GREEN}✅ Created keystore.properties (using extera.jks)${NC}"
echo ""
echo -e "${BLUE}📝 NOTE: Using default extera.jks keystore${NC}"
echo " For production builds, create your own keystore:"
echo " See SIGNING_GUIDE.md for instructions"
echo ""
else
echo -e "${YELLOW}⚠️ No keystore found${NC}"
echo ""
echo "Creating keystore.properties template..."
cp keystore.properties.example keystore.properties
echo -e "${GREEN}✅ Created keystore.properties template${NC}"
echo ""
echo -e "${BLUE}📝 To create a keystore:${NC}"
echo " 1. See SIGNING_GUIDE.md for detailed instructions"
echo " 2. Or use the GitHub Actions workflow (no local keystore needed)"
echo ""
fi
fi
# Check app branding
echo ""
echo "📋 Step 4: App branding"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${BLUE}Current configuration:${NC}"
echo " Package: com.radolyn.ayugram (from gradle.properties)"
echo " App Name: (check AndroidManifest.xml)"
echo " Icons: TMessagesProj/src/main/res/mipmap-*/"
echo ""
echo -e "${YELLOW}⚠️ To customize:${NC}"
echo " 1. Package name: Edit gradle.properties (APP_PACKAGE)"
echo " 2. App name: Edit TMessagesProj/src/main/res/values/strings.xml"
echo " 3. Icons: Replace files in TMessagesProj/src/main/res/mipmap-*/"
echo " 4. See BRANDING_GUIDE.md (if exists) or create one"
echo ""
# Summary
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✅ Setup Complete!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo -e "${GREEN}✅ API_KEYS${NC} - Created/exists"
echo -e "${GREEN}✅ Proprietary classes${NC} - Stubs created"
echo -e "${GREEN}✅ Keystore config${NC} - Created/exists"
echo ""
echo -e "${BLUE}📋 Next Steps:${NC}"
echo ""
echo "1. Edit API_KEYS with your Telegram API credentials"
echo " Get them at: https://my.telegram.org/apps"
echo ""
echo "2. (Optional) Customize branding:"
echo " - Package name in gradle.properties"
echo " - App name in strings.xml"
echo " - App icons in mipmap folders"
echo ""
echo "3. Test build:"
echo " ./gradlew assembleAfatDebug"
echo ""
echo "4. Or build release:"
echo " ./gradlew assembleAfatRelease"
echo ""
echo "5. Push to GitHub to trigger CI/CD:"
echo " git add ."
echo " git commit -m \"chore: setup project for build\""
echo " git push origin rewrite"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🎉 Ready to build!"
echo ""