Skip to content

Commit

Permalink
apps can be hidden final 0.5.0 push
Browse files Browse the repository at this point in the history
  • Loading branch information
berkaytumal committed Dec 19, 2024
1 parent 517f320 commit c30d3b5
Show file tree
Hide file tree
Showing 10 changed files with 75 additions and 30 deletions.
4 changes: 2 additions & 2 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ android {
applicationId = "web.bmdominatezz.gravy"
minSdk = 24
targetSdk = 34
versionCode = 49
versionName = "0.4.9-beta.4"
versionCode = 50
versionName = "0.5.0-beta.5"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

// Add the API key
Expand Down
19 changes: 16 additions & 3 deletions src/apps/groove.internal.settings/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,16 @@ <h1 class="app-title" data-i18n="settings.title">Settings</h1>
App</button>
</div>
<div class="app-preference-form">
<div class="group">
<p class="group-title" data-i18n="settings.apps.show_app">Show in apps list</p>
<div class="tile-selector" style="margin-bottom: 0px;">
<p data-i18n-init="common.actions.on">On</p>
<div>
<div id="app-list-show-toggle-switch" class="metro-toggle-switch" checked></div>
</div>
</div>
</div>

<div class="group">
<p class="group-title" data-i18n="settings.apps.name">Name</p>
<input type="text" class="metro-text-input">
Expand All @@ -506,14 +516,17 @@ <h1 class="app-title" data-i18n="settings.title">Settings</h1>
<p class="group-title" data-i18n="settings.apps.icon">Icon</p>
<div class="metro-dropdown-menu" selected="1">
<div class="metro-dropdown-option" data-i18n="settings.apps.icon_selections.default">Default</div>
<div class="metro-dropdown-option" data-i18n="settings.apps.icon_selections.monochrome">Monochrome</div>
<div class="metro-dropdown-option" data-i18n="settings.apps.icon_selections.monochrome">Monochrome
</div>
</div>
</div>
<div class="group" style="display: none;">
<p class="group-title" data-i18n="settings.apps.background">Background</p>
<div class="metro-dropdown-menu" selected="1">
<div class="metro-dropdown-option" data-i18n="settings.apps.background_selections.default">Default</div>
<div class="metro-dropdown-option" data-i18n="settings.apps.background_selections.transparent">Transparent</div>
<div class="metro-dropdown-option" data-i18n="settings.apps.background_selections.default">Default
</div>
<div class="metro-dropdown-option" data-i18n="settings.apps.background_selections.transparent">
Transparent</div>
</div>
</div>
<div class="group" style="display: none;">
Expand Down
2 changes: 1 addition & 1 deletion src/apps/groove.internal.settings/pages/00_home+theme.js
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ function isColorSupported(colorHex) {
const whiteContrast = contrastRatio(colorHex, "#FFFFFF");
console.log("blackContrast", blackContrast)
console.log("whiteContrast", whiteContrast)
return blackContrast >= 2 && whiteContrast >= 2;
return blackContrast >= 1.5 && whiteContrast >= 1.5;
}
colorInputs.hex.addEventListener("change", (e) => {
if (isValidHexColor(e.target.value)) {
Expand Down
27 changes: 23 additions & 4 deletions src/apps/groove.internal.settings/pages/10_applications.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,14 @@ function refreshAppList(params) {
delete window.lastSelectedApp

const appdetail = parent.GrooveBoard.backendMethods.getAppDetails(e.target.getAttribute("packagename"))
document.querySelector("div.app-preference-form > div:nth-child(1) > input").value = getAppPreferences(e.target.getAttribute("packagename"))["label"] ? (getAppPreferences(e.target.getAttribute("packagename"))["label"] != "auto" ? getAppPreferences(e.target.getAttribute("packagename"))["label"] : appdetail.label) : appdetail.label
document.querySelector("div.app-preference-form > div:nth-child(1) > input").setAttribute("placeholder", window.parent.GrooveBoard.backendMethods.getAppDetails(e.target.getAttribute("packagename"), true).label)
appNameChangerInput.value = getAppPreferences(e.target.getAttribute("packagename"))["label"] ? (getAppPreferences(e.target.getAttribute("packagename"))["label"] != "auto" ? getAppPreferences(e.target.getAttribute("packagename"))["label"] : appdetail.label) : appdetail.label
appNameChangerInput.setAttribute("placeholder", window.parent.GrooveBoard.backendMethods.getAppDetails(e.target.getAttribute("packagename"), true).label)
if (appdetail.shown) {
document.querySelector("#app-list-show-toggle-switch").setAttribute("checked", "")
} else {
document.querySelector("#app-list-show-toggle-switch").removeAttribute("checked")
}
document.querySelector("#app-detail-tab > div.flow-scrollable > div.app-preference-form > div:nth-child(1) > div > p").innerText = appdetail.shown ? i18n.t("common.actions.on") : i18n.t("common.actions.off")
if (!appdetail.packageName.startsWith("com.unknown")) {
document.querySelector("div.app-preference-form").style.removeProperty("display")
}
Expand Down Expand Up @@ -110,7 +116,8 @@ function updateAppDetailsRender(packageName) {
refreshAppList()
}
}
document.querySelector("div.app-preference-form > div:nth-child(1) > input").addEventListener("change", e => {
const appNameChangerInput = document.querySelector("div.app-preference-form > div:nth-child(2) > input")
appNameChangerInput.addEventListener("change", e => {
if (!window["lastSelectedApp"]) return
var value = e.target.value
if (e.target.value == " " || e.target.value == "") value = auto
Expand All @@ -119,4 +126,16 @@ document.querySelector("div.app-preference-form > div:nth-child(1) > input").add
setAppPreferences(window.lastSelectedApp.packageName, appPreference)
updateAppDetailsRender(window.lastSelectedApp.packageName)
// const perAppPreferences = JSON.parse(localStorage["perAppPreferences"])
})
})

document.querySelector("#app-list-show-toggle-switch").addEventListener("checked", (e) => {
document.querySelector("#app-detail-tab > div.flow-scrollable > div.app-preference-form > div:nth-child(1) > div > p").innerText = e.target.hasAttribute("checked") ? i18n.t("common.actions.on") : i18n.t("common.actions.off")
const appPreference = getAppPreferences(window.lastSelectedApp.packageName)
if (e.target.hasAttribute("checked")) {
appPreference.shown = true
} else {
appPreference.shown = false
}
setAppPreferences(window.lastSelectedApp.packageName, appPreference)
updateAppDetailsRender(window.lastSelectedApp.packageName)
})
10 changes: 7 additions & 3 deletions src/scripts/GrooveBoard.js
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ const backendMethods = {
}
localStorage.clear()
},
reloadApps: function (callback) {
reloadApps: function (callback) {
document.querySelector("#main-home-slider > div > div:nth-child(2) > div > div.app-list > div.app-list-container").querySelectorAll(".groove-letter-tile, .groove-app-tile").forEach(e => e.remove());
Object.keys(appSortCategories).forEach(key => {
delete appSortCategories[key];
Expand All @@ -429,6 +429,9 @@ reloadApps: function (callback) {
const appPreference = GrooveBoard.backendMethods.getAppPreferences(e.packageName);
if (appPreference.label != "auto") e.label = appPreference.label;
return e;
}).filter(e => {
const appPreference = GrooveBoard.backendMethods.getAppPreferences(e.packageName);
return appPreference.shown
});

appsWithPreferences.forEach((entry) => {
Expand Down Expand Up @@ -470,7 +473,7 @@ reloadApps: function (callback) {
});
});
scrollers.app_page_scroller.refresh();
},
},
getAppDetails: (packageName, rawDetails = false) => {
if (!window["allappsarchive"]) backendMethods.reloadAppDatabase(); else if (window["allappsarchive"].length == 0) backendMethods.reloadAppDatabase();
const search = window["allappsarchive"].filter(e => e.packageName == packageName)[0]
Expand Down Expand Up @@ -987,7 +990,8 @@ reloadApps: function (callback) {
background: "auto"
},
textColor: "auto",
accent: "auto"
accent: "auto",
shown: true
}

if (localStorage["perAppPreferences"]) {
Expand Down
2 changes: 1 addition & 1 deletion src/scripts/grooveMock.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class GrooveMock {
window.open(url, "_blank")
}
getAppVersion() {
return "0.4.9-beta.4"
return "0.5.0-beta.5"
}
getWebViewVersion() {
const versionName = "chrome"
Expand Down
2 changes: 1 addition & 1 deletion src/scripts/localeManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ const greetings = {
},
"ru": {
"welcome": "Добро пожаловать",
"welcome_back": "С возвращением"
"welcome_back": "СДобро пожаловать обратно!"
},
"tr": {
"welcome": "Hoş geldiniz",
Expand Down
15 changes: 10 additions & 5 deletions src/welcome.js
Original file line number Diff line number Diff line change
Expand Up @@ -293,17 +293,22 @@ if (!!localStorage.getItem("UIScale")) GrooveBoard.backendMethods.setUIScale(Num
i18n.translateDOM();

const welcomeTitle = document.querySelector("#page-welcome > div.setup-body > h1")
const welcomeType = welcomeTitle.getAttribute("data-i18n")
const firstWelcome = welcomeType == "welcome.welcome.install"
console.log("welcomeType", welcomeType)
welcomeTitle.removeAttribute("data-i18n")
const firstWelcome = localStorage["lastVersion"] ? !localStorage.lastVersion == Groove.getAppVersion() : true
const welcomeType = firstWelcome ? "welcome.welcome.install" : "welcome.welcome.update"

console.log("updatedapp", updatedApp)
window.firstWelcome = firstWelcome
var welcomei = 0
welcomeTitle.innerText = i18n.t(welcomeType)
setInterval(() => {
welcomei++;
welcomeTitle.style.animation = "none"
welcomeTitle.classList.add(welcomei % 2 == 0 ? "flip2" : "flip")
setTimeout(() => {
welcomeTitle.innerText = welcomei % 2 == 0 ? i18n.t(welcomeType) : greetings.getRandomWelcome()[firstWelcome ? "welcome" : "welcome_back"] || (firstWelcome ? "Welcome" : "Welcome back");
welcomeTitle.removeAttribute("data-i18n")
welcomeTitle.innerText = welcomei % 2 == 0 ?
i18n.t(welcomeType) :
(greetings.getRandomWelcome()[firstWelcome ? "welcome" : "welcome_back"] || (firstWelcome ? "Welcome" : "Welcome back"));
}, 200);
setTimeout(() => {
welcomeTitle.classList.remove("flip", "flip2")
Expand Down
5 changes: 3 additions & 2 deletions www/assets/defaultlocales/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,14 @@
"default": "Default",
"transparent": "Transparent"
},
"text_color":"Text color",
"text_color": "Text color",
"text_color_selections": {
"auto": "Auto",
"dark": "dark",
"light": "light"
},
"live_tile": "Live tile"
"live_tile": "Live tile",
"show_app": "Show in apps list"
},
"roles": {
"team_groove": "Team Groove",
Expand Down
19 changes: 11 additions & 8 deletions www/welcome.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<div class="setup-pages">
<div class="setup-page" style="opacity: 1;" id="page-welcome">
<div class="setup-body">
<h1 data-i18n="welcome.welcome.install">Welcome</h1>
<h1>Welcome</h1>
<p style="margin: 0px;"><img src="./assets/[email protected]" width="30"
style="filter: contrast(0) brightness(2); transform: translateY(6px); padding-right: 8px;">
<span data-i18n="welcome.welcome.appName">Groove Launcher</span>
Expand Down Expand Up @@ -175,14 +175,17 @@ <h1 data-i18n="welcome.whatsnew.title" class="small">What's New?</h1>
<div class="scroller" style="overflow: hidden; position: relative; margin: 0px;">
<div>
<ul>
<li><strong>Home Screen Animation Fixes:</strong> App launch and letter selector
animations work smoothly.</li>
<li><strong>Wide Screen Display Correction:</strong> Groove Settings render correctly on
wide screens.</li>
<li><strong>App List Refresh:</strong> App list now updates with new or removed apps.
<li><strong>New Live Tiles:</strong> Added live tiles for clock, contacts, and gallery.
</li>
<li><strong>Long Press Fix on Search Results:</strong> Long-pressing no longer opens
apps unintentionally.</li>
<li><strong>Adaptive Tile Colors:</strong> Tiles now adapt to background contrast for
better readability.</li>
<li><strong>Language Support:</strong> Groove now supports app localization in multiple
languages.</li>
<li><strong>Rotation Lock:</strong> Lock your device orientation to landscape or
portrait.</li>
<li><strong>Improved App Handling:</strong> Fixed issues with apps sharing the same
package name but different activity names (e.g., Google and Gemini).</li>
<li><strong>App Hiding:</strong> Users can now hide apps from the app list.</li>
</ul>
</div>
</div>
Expand Down

0 comments on commit c30d3b5

Please sign in to comment.