aboutsummaryrefslogtreecommitdiffstats
path: root/examples/platforms/android/qml_in_kotlin_based_android_project/app/src/main/java/com/example/qml_in_kotlin_based_android_project/Colors.kt
blob: 77704977963109f22aa52c71438333fcbaf4bdcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
package com.example.qml_in_kotlin_based_android_project

import java.util.Collections
import java.util.Stack

internal class Colors {
    private val recycle: Stack<Int> = Stack()
    private val colors: Stack<Int> = Stack()

    init {
        recycle.addAll(
            mutableListOf(
                -0xe34997, -0xffbeb6, -0xd8ec75,
                -0x4a3ef2, -0xc8c0da, -0x506c21,
                -0x7e8afb
            )
        )
    }

    fun getColor(): String {
            if (colors.size == 0) {
                while (!recycle.isEmpty()) colors.push(recycle.pop())
                Collections.shuffle(colors)
            }
            val color = colors.pop()
            recycle.push(color)
            return String.format("#%06X", 0xFFFFFF and color)
        }
}