blob: 318bf1ffd6852cb6d198bb9106a7659cd12adfa7 [file] [log] [blame]
/*
* Copyright (C) 2022 The Android Open Source Project
*
* 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.
*/
package com.android.customization.module
import android.stats.style.StyleEnums
import com.android.systemui.shared.system.SysUiStatsLog
import com.android.systemui.shared.system.SysUiStatsLog.STYLE_UI_CHANGED
/** The builder for [SysUiStatsLog]. */
class SysUiStatsLogger {
private var atom = STYLE_UI_CHANGED
private var action = StyleEnums.DEFAULT_ACTION
private var colorPackageHash = 0
private var fontPackageHash = 0
private var shapePackageHash = 0
private var clockPackageHash = 0
private var launcherGrid = 0
private var wallpaperCategoryHash = 0
private var wallpaperIdHash = 0
private var colorPreference = 0
private var locationPreference = StyleEnums.EFFECT_PREFERENCE_UNSPECIFIED
private var datePreference = StyleEnums.DATE_PREFERENCE_UNSPECIFIED
private var launchedPreference = StyleEnums.LAUNCHED_PREFERENCE_UNSPECIFIED
private var effectPreference = StyleEnums.EFFECT_PREFERENCE_UNSPECIFIED
private var effectIdHash = 0
private var lockWallpaperCategoryHash = 0
private var lockWallpaperIdHash = 0
private var firstLaunchDateSinceSetup = 0
private var firstWallpaperApplyDateSinceSetup = 0
private var appLaunchCount = 0
private var colorVariant = 0
private var timeElapsedMillis = 0L
private var effectResultCode = -1
fun setAction(action: Int) = apply { this.action = action }
fun setColorPackageHash(color_package_hash: Int) = apply {
this.colorPackageHash = color_package_hash
}
fun setFontPackageHash(font_package_hash: Int) = apply {
this.fontPackageHash = font_package_hash
}
fun setShapePackageHash(shape_package_hash: Int) = apply {
this.shapePackageHash = shape_package_hash
}
fun setClockPackageHash(clock_package_hash: Int) = apply {
this.clockPackageHash = clock_package_hash
}
fun setLauncherGrid(launcher_grid: Int) = apply { this.launcherGrid = launcher_grid }
fun setWallpaperCategoryHash(wallpaper_category_hash: Int) = apply {
this.wallpaperCategoryHash = wallpaper_category_hash
}
fun setWallpaperIdHash(wallpaper_id_hash: Int) = apply {
this.wallpaperIdHash = wallpaper_id_hash
}
fun setColorPreference(color_preference: Int) = apply {
this.colorPreference = color_preference
}
fun setLocationPreference(location_preference: Int) = apply {
this.locationPreference = location_preference
}
fun setDatePreference(date_preference: Int) = apply { this.datePreference = date_preference }
fun setLaunchedPreference(launched_preference: Int) = apply {
this.launchedPreference = launched_preference
}
fun setEffectPreference(effect_preference: Int) = apply {
this.effectPreference = effect_preference
}
fun setEffectIdHash(effect_id_hash: Int) = apply { this.effectIdHash = effect_id_hash }
fun setLockWallpaperCategoryHash(lock_wallpaper_category_hash: Int) = apply {
this.lockWallpaperCategoryHash = lock_wallpaper_category_hash
}
fun setLockWallpaperIdHash(lock_wallpaper_id_hash: Int) = apply {
this.lockWallpaperIdHash = lock_wallpaper_id_hash
}
fun setFirstLaunchDateSinceSetup(first_launch_date_since_setup: Int) = apply {
this.firstLaunchDateSinceSetup = first_launch_date_since_setup
}
fun setFirstWallpaperApplyDateSinceSetup(first_wallpaper_apply_date_since_setup: Int) = apply {
this.firstWallpaperApplyDateSinceSetup = first_wallpaper_apply_date_since_setup
}
fun setAppLaunchCount(app_launch_count: Int) = apply { this.appLaunchCount = app_launch_count }
fun setColorVariant(color_variant: Int) = apply { this.colorVariant = color_variant }
fun setTimeElapsed(time_elapsed_millis: Long) = apply {
this.timeElapsedMillis = time_elapsed_millis
}
fun setEffectResultCode(effect_result_code: Int) = apply {
this.effectResultCode = effect_result_code
}
fun log() {
SysUiStatsLog.write(
atom,
action,
colorPackageHash,
fontPackageHash,
shapePackageHash,
clockPackageHash,
launcherGrid,
wallpaperCategoryHash,
wallpaperIdHash,
colorPreference,
locationPreference,
datePreference,
launchedPreference,
effectPreference,
effectIdHash,
lockWallpaperCategoryHash,
lockWallpaperIdHash,
firstLaunchDateSinceSetup,
firstWallpaperApplyDateSinceSetup,
appLaunchCount,
colorVariant,
timeElapsedMillis,
effectResultCode,
)
}
}