1 /******************************************************************
\r
2 * Copyright 2016 Samsung Electronics All Rights Reserved.
\r
6 * Licensed under the Apache License, Version 2.0 (the "License");
\r
7 * you may not use this file except in compliance with the License.
\r
8 * You may obtain a copy of the License at
\r
10 * http://www.apache.org/licenses/LICENSE-2.0
\r
12 * Unless required by applicable law or agreed to in writing, software
\r
13 * distributed under the License is distributed on an "AS IS" BASIS,
\r
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
15 * See the License for the specific language governing permissions and
\r
16 * limitations under the License.
\r
17 ******************************************************************/
\r
19 package com.sec.noticonsumerexample;
\r
21 import android.app.Notification;
\r
22 import android.app.NotificationManager;
\r
23 import android.content.Intent;
\r
24 import android.os.Bundle;
\r
25 import android.os.Handler;
\r
26 import android.os.Message;
\r
27 import android.support.v7.app.AppCompatActivity;
\r
28 import android.util.Log;
\r
29 import android.view.View;
\r
30 import android.widget.Button;
\r
31 import android.widget.EditText;
\r
32 import android.widget.TextView;
\r
33 import android.widget.Toast;
\r
35 public class MainActivity extends AppCompatActivity
\r
38 private final String TAG = "NS_MAIN_ACTIVITY";
\r
40 private Button btnStart;
\r
41 private Button btnStop;
\r
42 private Button btnRescan;
\r
43 private static TextView TvLog;
\r
45 private boolean isStarted = false;
\r
46 private String consumerId;
\r
48 private ConsumerProxy mConsumerProxy = null;
\r
50 private static final int PROVIDER_DISCOVERED = 1;
\r
51 private static final int SUBSCRIPTION_ACCEPTED = 2;
\r
52 private static final int MESSAGE_RECEIVED = 3;
\r
53 private static final int SYNCINFO_RECEIVED = 4;
\r
55 public static Handler mHandler = new Handler()
\r
58 public void handleMessage(Message msg)
\r
62 case PROVIDER_DISCOVERED:
\r
64 String providerId = (String) msg.obj;
\r
65 if (providerId != null)
\r
67 TvLog.append("Discovered : ProviderID: " + providerId + "\n");
\r
71 case SUBSCRIPTION_ACCEPTED:
\r
73 String providerId = (String) msg.obj;
\r
74 if (providerId != null)
\r
76 TvLog.append("Subscription Accepted : ProviderID: " + providerId + "\n");
\r
80 case MESSAGE_RECEIVED:
\r
82 String message = (String) msg.obj;
\r
83 if (message != null)
\r
85 TvLog.append("Message Received : " + message + "\n");
\r
89 case SYNCINFO_RECEIVED:
\r
91 String sync = (String) msg.obj;
\r
94 TvLog.append("SyncInfo Received : " + sync + "\n");
\r
104 public void showToast(final String toast)
\r
106 runOnUiThread(new Runnable()
\r
111 Toast.makeText(getApplicationContext(), toast, Toast.LENGTH_SHORT).show();
\r
117 protected void onCreate(Bundle savedInstanceState)
\r
119 super.onCreate(savedInstanceState);
\r
120 setContentView(R.layout.activity_main);
\r
122 btnStart = (Button) findViewById(R.id.BtnStart);
\r
123 btnStop = (Button) findViewById(R.id.BtnStop);
\r
124 btnRescan = (Button) findViewById(R.id.BtnRescan);
\r
126 TvLog = (TextView) findViewById(R.id.TvLog);
\r
128 btnStart.setOnClickListener(mClickListener);
\r
129 btnStop.setOnClickListener(mClickListener);
\r
130 btnRescan.setOnClickListener(mClickListener);
\r
132 mConsumerProxy = new ConsumerProxy(getApplicationContext());
\r
133 mConsumerProxy.setHandler(mHandler);
\r
137 protected void onDestroy()
\r
140 mConsumerProxy.stopNotificationConsumer();
\r
144 public ConsumerProxy getProviderProxy()
\r
146 return mConsumerProxy;
\r
149 Button.OnClickListener mClickListener = new View.OnClickListener()
\r
151 public void onClick(View v)
\r
156 case R.id.BtnStart:
\r
158 if (isStarted == false)
\r
160 Log.i(TAG, "Start NS Consumer Service");
\r
162 TvLog.setText("Start NS-Consumer\n");
\r
163 mConsumerProxy.startNotificationConsumer();
\r
168 Log.e(TAG, "NS Consumer Service had already started");
\r
175 if (isStarted == false)
\r
177 Log.e(TAG, "Fail to stop service");
\r
181 mConsumerProxy.stopNotificationConsumer();
\r
184 TvLog.append("Stop NS-Consumer\n");
\r
187 case R.id.BtnRescan:
\r
189 if (isStarted == false)
\r
191 Log.e(TAG, "Fail to rescan");
\r
195 mConsumerProxy.rescanProvider();
\r
196 TvLog.append("Rescan NS-Consumer\n");
\r