Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b8ffad2 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Move important notice version to resource

Bug: 10587358
Change-Id: Ie24fc6c53b15880f4ace991a25223056f03f5eda
parent 776d46a7
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2014, 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.
*/
-->

<resources>
    <integer name="config_important_notice_version">0</integer>
    <!-- TODO: Add important notice title and description string resources. -->
</resources>
+8 −6
Original line number Diff line number Diff line
@@ -22,13 +22,11 @@ import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.util.Log;

import com.android.inputmethod.latin.R;

public final class ImportantNoticeUtils {
    private static final String TAG = ImportantNoticeUtils.class.getSimpleName();

    // The current version number of an important notice.
    // This number must be incremented whenever users should see a new important notice.
    private static final int CURRENT_IMPORTANT_NOTICE_VERSION = 0;

    // {@link SharedPreferences} name to save the last important notice version that has been
    // displayed to users.
    private static final String PREFERENCE_NAME = "important_notice";
@@ -60,16 +58,20 @@ public final class ImportantNoticeUtils {
        return context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
    }

    private static int getCurrentImportantNoticeVersion(final Context context) {
        return context.getResources().getInteger(R.integer.config_important_notice_version);
    }

    public static boolean hasNewImportantNotice(final Context context) {
        final SharedPreferences prefs = getImportantNoticePreferences(context);
        final int lastVersion = prefs.getInt(KEY_IMPORTANT_NOTICE_VERSION, 0);
        return CURRENT_IMPORTANT_NOTICE_VERSION > lastVersion;
        return getCurrentImportantNoticeVersion(context) > lastVersion;
    }

    public static void updateLastImportantNoticeVersion(final Context context) {
        final SharedPreferences prefs = getImportantNoticePreferences(context);
        prefs.edit()
                .putInt(KEY_IMPORTANT_NOTICE_VERSION, CURRENT_IMPORTANT_NOTICE_VERSION)
                .putInt(KEY_IMPORTANT_NOTICE_VERSION, getCurrentImportantNoticeVersion(context))
                .apply();
    }
}