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

Commit ff3c395e authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Add dream complication title strings."

parents 083297ec 89f60bd3
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1549,6 +1549,17 @@
    <!-- Content description of the no calling for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_no_calling">No calling.</string>

    <!-- Screensaver overlay which displays the time. [CHAR LIMIT=20] -->
    <string name="dream_complication_title_time">Time</string>
    <!-- Screensaver overlay which displays the date. [CHAR LIMIT=20] -->
    <string name="dream_complication_title_date">Date</string>
    <!-- Screensaver overlay which displays the weather. [CHAR LIMIT=20] -->
    <string name="dream_complication_title_weather">Weather</string>
    <!-- Screensaver overlay which displays air quality. [CHAR LIMIT=20] -->
    <string name="dream_complication_title_aqi">Air Quality</string>
    <!-- Screensaver overlay which displays cast info. [CHAR LIMIT=20] -->
    <string name="dream_complication_title_cast_info">Cast Info</string>

    <!-- Title for a screen allowing the user to choose a profile picture. [CHAR LIMIT=NONE] -->
    <string name="avatar_picker_title">Choose a profile picture</string>
</resources>
+39 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.os.ServiceManager;
import android.provider.Settings;
import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Xml;
@@ -50,6 +51,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -292,6 +294,11 @@ public class DreamBackend {
        }
    }

    /** Returns whether a particular complication is enabled */
    public boolean isComplicationEnabled(@ComplicationType int complication) {
        return getEnabledComplications().contains(complication);
    }

    /** Gets all complications which have been enabled by the user. */
    public Set<Integer> getEnabledComplications() {
        final String enabledComplications = Settings.Secure.getString(
@@ -331,6 +338,35 @@ public class DreamBackend {
                convertToString(enabledComplications));
    }

    /**
     * Gets the title of a particular complication type to be displayed to the user. If there
     * is no title, null is returned.
     */
    @Nullable
    public CharSequence getComplicationTitle(@ComplicationType int complicationType) {
        int res = 0;
        switch (complicationType) {
            case COMPLICATION_TYPE_TIME:
                res = R.string.dream_complication_title_time;
                break;
            case COMPLICATION_TYPE_DATE:
                res = R.string.dream_complication_title_date;
                break;
            case COMPLICATION_TYPE_WEATHER:
                res = R.string.dream_complication_title_weather;
                break;
            case COMPLICATION_TYPE_AIR_QUALITY:
                res = R.string.dream_complication_title_aqi;
                break;
            case COMPLICATION_TYPE_CAST_INFO:
                res = R.string.dream_complication_title_cast_info;
                break;
            default:
                return null;
        }
        return mContext.getString(res);
    }

    private static String convertToString(Set<Integer> set) {
        return set.stream()
                .map(String::valueOf)
@@ -338,6 +374,9 @@ public class DreamBackend {
    }

    private static Set<Integer> parseFromString(String string) {
        if (TextUtils.isEmpty(string)) {
            return new HashSet<>();
        }
        return Arrays.stream(string.split(","))
                .map(Integer::parseInt)
                .collect(Collectors.toSet());