package com.lemenzo.messenger.sms;

import android.app.Activity;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Intent;

public final class SmsRoleHelper {
    public static final int REQUEST_ROLE_SMS = 4201;

    private SmsRoleHelper() {}

    public static boolean isSmsRoleAvailable(Context context) {
        RoleManager rm = context.getSystemService(RoleManager.class);
        return rm != null && rm.isRoleAvailable(RoleManager.ROLE_SMS);
    }

    public static boolean isDefaultSmsApp(Context context) {
        RoleManager rm = context.getSystemService(RoleManager.class);
        return rm != null
                && rm.isRoleAvailable(RoleManager.ROLE_SMS)
                && rm.isRoleHeld(RoleManager.ROLE_SMS);
    }

    public static boolean requestRole(Activity activity) {
        RoleManager rm = activity.getSystemService(RoleManager.class);
        if (rm == null || !rm.isRoleAvailable(RoleManager.ROLE_SMS)) return false;
        if (rm.isRoleHeld(RoleManager.ROLE_SMS)) return true;
        Intent request = rm.createRequestRoleIntent(RoleManager.ROLE_SMS);
        activity.startActivityForResult(request, REQUEST_ROLE_SMS);
        return true;
    }
}
