1package com.android.hotspot2;
2
3import android.content.Context;
4import android.content.Intent;
5
6import com.android.hotspot2.osu.OSUOperationStatus;
7
8public class AppBridge {
9    public static final String ACTION_OSU_NOTIFICATION = "com.android.hotspot2.OSU_NOTIFICATION";
10    public static final String OSU_COUNT = "osu-count";
11    public static final String SP_NAME = "sp-name";
12    public static final String PROV_SUCCESS = "prov-success";
13    public static final String DEAUTH = "deauth";
14    public static final String DEAUTH_DELAY = "deauth-delay";
15    public static final String DEAUTH_URL = "deauth-url";
16    public static final String PROV_MESSAGE = "prov-message";
17    public static final String OSU_INFO = "osu-info";
18
19    public static final String GET_OSUS_ACTION = "com.android.hotspot2.GET_OSUS";
20
21    private final Context mContext;
22
23    public AppBridge(Context context) {
24        mContext = context;
25    }
26
27    public void showOsuCount(int osuCount) {
28        Intent intent = new Intent(ACTION_OSU_NOTIFICATION);
29        intent.putExtra(OSU_COUNT, osuCount);
30        intent.setFlags(
31                Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
32
33        mContext.startActivity(intent);
34    }
35
36    public void showStatus(OSUOperationStatus status, String spName, String message,
37                           String remoteStatus) {
38        Intent intent = new Intent(ACTION_OSU_NOTIFICATION);
39        intent.putExtra(SP_NAME, spName);
40        intent.putExtra(PROV_SUCCESS, status == OSUOperationStatus.ProvisioningSuccess);
41        if (message != null) {
42            intent.putExtra(PROV_MESSAGE, message);
43        }
44        intent.setFlags(
45                Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
46        mContext.startActivity(intent);
47    }
48
49    public void showDeauth(String spName, boolean ess, int delay, String url) {
50        Intent intent = new Intent(ACTION_OSU_NOTIFICATION);
51        intent.putExtra(SP_NAME, spName);
52        intent.putExtra(DEAUTH, ess);
53        intent.putExtra(DEAUTH_DELAY, delay);
54        intent.putExtra(DEAUTH_URL, url);
55        intent.setFlags(
56                Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
57        mContext.startActivity(intent);
58    }
59}
60