Skip to content

Commit

Permalink
init repo
Browse files Browse the repository at this point in the history
  • Loading branch information
vmfunc committed Apr 2, 2022
0 parents commit 8eee68f
Show file tree
Hide file tree
Showing 396 changed files with 12,814 additions and 0 deletions.
200 changes: 200 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
/*
* Copyright 2019 Google Inc.
*
* 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.
*/

import groovy.xml.MarkupBuilder

plugins {
id 'com.android.application'
}

def twaManifest = [
applicationId: 'cafe.miruku.trol',
hostName: 'miruku.cafe', // The domain being opened in the TWA.
launchUrl: '/', // The start path for the TWA. Must be relative to the domain.
name: 'Miruku.cafe', // The application name.
launcherName: 'Miruku', // The name shown on the Android Launcher.
themeColor: '#232323', // The color used for the status bar.
navigationColor: '#000000', // The color used for the navigation bar.
navigationColorDark: '#000000', // The color used for the dark navbar.
navigationDividerColor: '#000000', // The navbar divider color.
navigationDividerColorDark: '#000000', // The dark navbar divider color.
backgroundColor: '#FFFFFF', // The color used for the splash screen background.
enableNotifications: true, // Set to true to enable notification delegation.
// Every shortcut must include the following fields:
// - name: String that will show up in the shortcut.
// - short_name: Shorter string used if |name| is too long.
// - url: Absolute path of the URL to launch the app with (e.g '/create').
// - icon: Name of the resource in the drawable folder to use as an icon.
shortcuts: [],
// The duration of fade out animation in milliseconds to be played when removing splash screen.
splashScreenFadeOutDuration: 300,
generatorApp: 'bubblewrap-cli', // Application that generated the Android Project
// The fallback strategy for when Trusted Web Activity is not avilable. Possible values are
// 'customtabs' and 'webview'.
fallbackType: 'customtabs',
enableSiteSettingsShortcut: 'true',
orientation: 'default',
]

android {
compileSdkVersion 31
defaultConfig {
applicationId "cafe.miruku.trol"
minSdkVersion 19
targetSdkVersion 31
versionCode 1
versionName "1"

// The name for the application
resValue "string", "appName", twaManifest.name

// The name for the application on the Android Launcher
resValue "string", "launcherName", twaManifest.launcherName

// The URL that will be used when launching the TWA from the Android Launcher
def launchUrl = "https://" + twaManifest.hostName + twaManifest.launchUrl
resValue "string", "launchUrl", launchUrl


// The URL the Web Manifest for the Progressive Web App that the TWA points to. This
// is used by Chrome OS to open the Web version of the PWA instead of the TWA, as it
// will probably give a better user experience for non-mobile devices.
resValue "string", "webManifestUrl", 'https://miruku.cafe/manifest.json'



// The data for the app to support web share target.
resValue "string", "shareTarget", '{\\"action\\":\\"https://miruku.cafe/share/\\",\\"params\\":{\\"title\\":\\"title\\",\\"text\\":\\"text\\",\\"url\\":\\"url\\"}}'


// The hostname is used when building the intent-filter, so the TWA is able to
// handle Intents to open https://svgomg.firebaseapp.com.
resValue "string", "hostName", twaManifest.hostName

// This attribute sets the status bar color for the TWA. It can be either set here or in
// `res/values/colors.xml`. Setting in both places is an error and the app will not
// compile. If not set, the status bar color defaults to #FFFFFF - white.
resValue "color", "colorPrimary", twaManifest.themeColor

// This attribute sets the navigation bar color for the TWA. It can be either set here or
// in `res/values/colors.xml`. Setting in both places is an error and the app will not
// compile. If not set, the navigation bar color defaults to #FFFFFF - white.
resValue "color", "navigationColor", twaManifest.navigationColor

// This attribute sets the dark navigation bar color for the TWA. It can be either set here
// or in `res/values/colors.xml`. Setting in both places is an error and the app will not
// compile. If not set, the navigation bar color defaults to #000000 - black.
resValue "color", "navigationColorDark", twaManifest.navigationColorDark

// This attribute sets the navbar divider color for the TWA. It can be either
// set here or in `res/values/colors.xml`. Setting in both places is an error and the app
// will not compile. If not set, the divider color defaults to #00000000 - transparent.
resValue "color", "navigationDividerColor", twaManifest.navigationDividerColor

// This attribute sets the dark navbar divider color for the TWA. It can be either
// set here or in `res/values/colors.xml`. Setting in both places is an error and the
//app will not compile. If not set, the divider color defaults to #000000 - black.
resValue "color", "navigationDividerColorDark", twaManifest.navigationDividerColorDark

// Sets the color for the background used for the splash screen when launching the
// Trusted Web Activity.
resValue "color", "backgroundColor", twaManifest.backgroundColor

// Defines a provider authority fot the Splash Screen
resValue "string", "providerAuthority", twaManifest.applicationId + '.fileprovider'

// The enableNotification resource is used to enable or disable the
// TrustedWebActivityService, by changing the android:enabled and android:exported
// attributes
resValue "bool", "enableNotification", twaManifest.enableNotifications.toString()

twaManifest.shortcuts.eachWithIndex { shortcut, index ->
resValue "string", "shortcut_name_$index", "$shortcut.name"
resValue "string", "shortcut_short_name_$index", "$shortcut.short_name"
}

// The splashScreenFadeOutDuration resource is used to set the duration of fade out animation in milliseconds
// to be played when removing splash screen. The default is 0 (no animation).
resValue "integer", "splashScreenFadeOutDuration", twaManifest.splashScreenFadeOutDuration.toString()

resValue "string", "generatorApp", twaManifest.generatorApp

resValue "string", "fallbackType", twaManifest.fallbackType

resValue "bool", "enableSiteSettingsShortcut", twaManifest.enableSiteSettingsShortcut
resValue "string", "orientation", twaManifest.orientation
}
buildTypes {
release {
minifyEnabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
checkReleaseBuilds false
}
}

task generateShorcutsFile {
assert twaManifest.shortcuts.size() < 5, "You can have at most 4 shortcuts."
twaManifest.shortcuts.eachWithIndex { s, i ->
assert s.name != null, 'Missing `name` in shortcut #' + i
assert s.short_name != null, 'Missing `short_name` in shortcut #' + i
assert s.url != null, 'Missing `icon` in shortcut #' + i
assert s.icon != null, 'Missing `url` in shortcut #' + i
}

def shortcutsFile = new File("$projectDir/src/main/res/xml", "shortcuts.xml")

def xmlWriter = new StringWriter()
def xmlMarkup = new MarkupBuilder(new IndentPrinter(xmlWriter, " ", true))

xmlMarkup
.'shortcuts'('xmlns:android': 'http://schemas.android.com/apk/res/android') {
twaManifest.shortcuts.eachWithIndex { s, i ->
'shortcut'(
'android:shortcutId': 'shortcut' + i,
'android:enabled': 'true',
'android:icon': '@drawable/' + s.icon,
'android:shortcutShortLabel': '@string/shortcut_short_name_' + i,
'android:shortcutLongLabel': '@string/shortcut_name_' + i) {
'intent'(
'android:action': 'android.intent.action.MAIN',
'android:targetPackage': twaManifest.applicationId,
'android:targetClass': twaManifest.applicationId + '.LauncherActivity',
'android:data': s.url)
'categories'('android:name': 'android.intent.category.LAUNCHER')
}
}
}
shortcutsFile.text = xmlWriter.toString() + '\n'
}

preBuild.dependsOn(generateShorcutsFile)

repositories {

}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')

implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.3.0'

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>

<!-- Automatically generated file. DO NOT MODIFY -->

<!-- Value from default config. -->
<string name="appName" translatable="false">Miruku.cafe</string>
<!-- Value from default config. -->
<color name="backgroundColor">#FFFFFF</color>
<!-- Value from default config. -->
<color name="colorPrimary">#232323</color>
<!-- Value from default config. -->
<bool name="enableNotification">true</bool>
<!-- Value from default config. -->
<bool name="enableSiteSettingsShortcut">true</bool>
<!-- Value from default config. -->
<string name="fallbackType" translatable="false">customtabs</string>
<!-- Value from default config. -->
<string name="generatorApp" translatable="false">bubblewrap-cli</string>
<!-- Value from default config. -->
<string name="hostName" translatable="false">miruku.cafe</string>
<!-- Value from default config. -->
<string name="launchUrl" translatable="false">https://miruku.cafe/</string>
<!-- Value from default config. -->
<string name="launcherName" translatable="false">Miruku</string>
<!-- Value from default config. -->
<color name="navigationColor">#000000</color>
<!-- Value from default config. -->
<color name="navigationColorDark">#000000</color>
<!-- Value from default config. -->
<color name="navigationDividerColor">#000000</color>
<!-- Value from default config. -->
<color name="navigationDividerColorDark">#000000</color>
<!-- Value from default config. -->
<string name="orientation" translatable="false">default</string>
<!-- Value from default config. -->
<string name="providerAuthority" translatable="false">cafe.miruku.trol.fileprovider</string>
<!-- Value from default config. -->
<string name="shareTarget" translatable="false">{\"action\":\"https://miruku.cafe/share/\",\"params\":{\"title\":\"title\",\"text\":\"text\",\"url\":\"url\"}}</string>
<!-- Value from default config. -->
<integer name="splashScreenFadeOutDuration">300</integer>
<!-- Value from default config. -->
<string name="webManifestUrl" translatable="false">https://miruku.cafe/manifest.json</string>

</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* Automatically generated file. DO NOT MODIFY
*/
package cafe.miruku.trol;

public final class BuildConfig {
public static final boolean DEBUG = false;
public static final String APPLICATION_ID = "cafe.miruku.trol";
public static final String BUILD_TYPE = "release";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1";
}
10 changes: 10 additions & 0 deletions app/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
-keep class androidx.core.content.FileProvider { <init>(); }
-keep class cafe.miruku.trol.Application { <init>(); }
-keep class cafe.miruku.trol.DelegationService { <init>(); }
-keep class cafe.miruku.trol.LauncherActivity { <init>(); }
-keep class com.google.androidbrowserhelper.trusted.FocusActivity { <init>(); }
-keep class com.google.androidbrowserhelper.trusted.ManageDataLauncherActivity { <init>(); }
-keep class com.google.androidbrowserhelper.trusted.WebViewFallbackActivity { <init>(); }
-keep class androidx.browser.browseractions.BrowserActionsFallbackMenuView { <init>(android.content.Context, android.util.AttributeSet); }

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"version": 2,
"artifactType": {
"type": "BUNDLE",
"kind": "RegularFile"
},
"applicationId": "cafe.miruku.trol",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"outputFile": "../../../outputs/bundle/release/app-release.aab"
}
]
}
Loading

0 comments on commit 8eee68f

Please sign in to comment.