aboutsummaryrefslogtreecommitdiffstats
path: root/ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java')
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java426
1 files changed, 0 insertions, 426 deletions
diff --git a/ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java b/ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java
deleted file mode 100644
index 370a53b4..00000000
--- a/ccnxandroidmetis/MetisControl/src/main/java/com/metis/ccnx/ccnxsdk/metiscontrol/MetisStatusFragment.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * 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.
- */
-
-package com.metis.ccnx.ccnxsdk.metiscontrol;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.design.widget.Snackbar;
-import android.support.v4.app.Fragment;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.CompoundButton;
-import android.widget.Spinner;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import com.metis.ccnx.ccnxsupportlibrary.Metis;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.nio.charset.Charset;
-import java.util.List;
-
-
-public class MetisStatusFragment extends Fragment implements IMetisNamedFragment {
-
- private static final String ARG_PAGER_INDEX = "metisstatus_pager_number";
- private static final String TAG = "CCNXMetis SF";
-
- // TODO: Rename and change types of parameters
- private int mPagerIndex;
-
- private Switch mSwitchMetisOnOff = null;
- private Spinner mSpinnerLogLevel = null;
- private Switch mSwitchContentStoreOnOff = null;
- private TextView mTVNumInterests = null;
- private TextView mTVNumContentObjects = null;
- private TextView mTVNumInterestReturns = null;
- private TextView mTVNumControlMessages = null;
- private TextView mTVNumPITEntries = null;
- private TextView mPathTextView = null;
-
- // Stats counters, updated by background task.
- private long mNumInterests = 0;
- private long mNumCOs = 0;
- private long mNumInterestReturns = 0;
- private long mNumControl = 0;
- private long mNumPITENtries = 0;
-
- private boolean mIsStatsQueryRunning = false;
-
-
- //private PortalFactory mPortalFactory = null;
-
- private OnFragmentVisibleListener mListener;
-
-
- /**
- * Create a Handler and a Runnable to be called every few seconds to query
- * Metis (when running) for stats.
- */
- private Handler mStatusUpdaterHandler = new Handler();
- private Runnable mStatusUpdateRunnable = new Runnable() {
- @Override
- public void run() {
- // This runs on the main thread, so start an AsyncTask
- // Repeat this the same runnable code block again another few seconds
- //new GetStatusTask(null).execute(mPortalFactory);
- //if (mIsStatsQueryRunning) {
- //mStatusUpdaterHandler.postDelayed(mStatusUpdateRunnable, 2 * 1000);
- //}
- }
- };
-
-
- public MetisStatusFragment() {
- // Required empty public constructor
- }
-
- /**
- * Use this factory method to create a new instance of
- * this fragment using the provided parameters.
- *
- * @return A new instance of fragment MetisStatusFragment.
- */
- // TODO: Rename and change types and number of parameters
- public static MetisStatusFragment newInstance(int pagerIndex) {
- MetisStatusFragment fragment = new MetisStatusFragment();
- Bundle args = new Bundle();
- args.putInt(ARG_PAGER_INDEX, pagerIndex);
-
- fragment.setArguments(args);
-
- return fragment;
- }
-
- @Override
- public void onStart() {
- Metis metis = Metis.getInstance();
- mSwitchMetisOnOff.setChecked(metis.isRunning());
- super.onStart();
- }
-
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (getArguments() != null) {
- mPagerIndex = getArguments().getInt(ARG_PAGER_INDEX);
- }
-
-
- Log.d(TAG, "Creating new PortalFactory");
- //Identity identity = CCNxUtils.createCCNxIdentity(getContext(),
- // "password", "ccnxsdkdemo", 1024, 30);
- //mPortalFactory = new PortalFactory(identity);
- }
-
-
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_metis_status, container, false);
-
- mSwitchMetisOnOff = (Switch) view.findViewById(R.id.switchMetisOnOff);
- mSwitchContentStoreOnOff = (Switch) view.findViewById(R.id.switchMetisContentStoreOnOff);
- mSpinnerLogLevel = (Spinner) view.findViewById(R.id.spinnerMetisLoggingLevel);
- mPathTextView = (TextView) view.findViewById(R.id.pathText) ;
-
- mSpinnerLogLevel.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- String loggingLevel = mSpinnerLogLevel.getSelectedItem().toString();
- updateMetisLoggingLevel(loggingLevel);
- }
-
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
-
- }
- });
-
- mSwitchMetisOnOff.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- startMetis();
- //mSpinnerLogLevel.setEnabled(true);
- //Log.d(TAG, "################# Start periodic query for stats");
- //if (!mIsStatsQueryRunning) {
- // mStatusUpdaterHandler.postDelayed(mStatusUpdateRunnable, 500);
- // mIsStatsQueryRunning = true;
- // String loggingLevel = mSpinnerLogLevel.getSelectedItem().toString();
- // if (!loggingLevel.equalsIgnoreCase("off")) {
- // updateMetisLoggingLevel(loggingLevel);
- // }
- //}
- } else {
- Log.d(TAG, "################# Stop periodic query for stats");
- //mStatusUpdaterHandler.removeCallbacks(mStatusUpdateRunnable);
- //mIsStatsQueryRunning = false;
- stopMetis();
- //mSpinnerLogLevel.setEnabled(false);
- //mSpinnerLogLevel.setSelection(0);
- }
- }
- });
-
- mTVNumInterests = (TextView) view.findViewById(R.id.tvStatsNumInterests);
- mTVNumContentObjects = (TextView) view.findViewById(R.id.tvStatsNumContentObjects);
- mTVNumInterestReturns = (TextView) view.findViewById(R.id.tvStatsNumInterestReturns);
- mTVNumControlMessages = (TextView) view.findViewById(R.id.tvStatsNumControl);
- mTVNumPITEntries = (TextView) view.findViewById(R.id.tvStatsPITSize);
-
- mTVNumInterests.setText(String.valueOf(mNumInterests));
- mTVNumContentObjects.setText(String.valueOf(mNumCOs));
- mTVNumControlMessages.setText(String.valueOf(mNumControl));
- mTVNumInterestReturns.setText(String.valueOf(mNumInterestReturns));
- mTVNumPITEntries.setText("");
-
- return view;
- }
-
- private void startMetis() {
- mPathTextView.setEnabled(false);
- Metis metis = Metis.getInstance();
- if (!metis.isRunning()) {
- Intent intent = new Intent(getActivity(), MetisService.class);
- intent.putExtra("path", mPathTextView.getText());
- getActivity().startService(intent);
-
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- createExternalListeners();
- }
- }, 1000);
- }
- }
-
- private void stopMetis() {
- mPathTextView.setEnabled(true);
- Intent intent = new Intent(getActivity(), MetisService.class);
-
- getActivity().stopService(intent);
-
- }
-
- private void updateMetisLoggingLevel(String loggingLevel) {
- /*Metis metis = Metis.getInstance();
- if (metis.isRunning()) {
- // Send an Interest control message to Metis with the new logging level.
- String commandURI = MetisConstants.CCNxNameMetisCommand_Set + "/" + MetisConstants.MetisCommand_LogLevel + "/" + loggingLevel;
- Name name = new Name(commandURI);
- SendInterestTask task = new SendInterestTask(name, null, new SendInterestTask.OnInterestSentListener() {
- @Override
- public void onInterestSent(Message message) {
- if (message instanceof ContentObject) {
-
- String responseString = new String(((ContentObject) message).payload());
- Snackbar snackbar = Snackbar
- .make(mSwitchMetisOnOff, responseString, Snackbar.LENGTH_SHORT);
-
- snackbar.show();
- } else {
- Log.d(TAG, "Unexpected non-Content response from sent Interest");
- }
- }
- });
-
- task.execute(mPortalFactory);
- }*/
- }
-
- private void createExternalListeners() {
-
- /*Metis metis = Metis.getInstance();
-
- if (metis.isRunning()) {
-
- List<InetAddress> ipAddresses = CCNxUtils.getLocalIpAddress();
-
- for (InetAddress addr : ipAddresses) {
-
- // For the moment, just listen on the IPV4 addresses. The V6 addresses should work,
- // but it's not yet tested.
-
- if (addr instanceof Inet4Address) {
-
- String ipAddress = addr.getHostAddress();
-
- Log.d(TAG, "Adding external listener on: " + ipAddress);
-
- String linkURI = "tcp://" + ipAddress + ":" + MetisConstants.MetisDefaultListenerPort + "/listener";
-
- Name name = new Name(MetisConstants.CCNxNameMetisCommand_LinkConnect);
-
- SendInterestTask task = new SendInterestTask(name, linkURI.getBytes(), new SendInterestTask.OnInterestSentListener() {
- @Override
- public void onInterestSent(Message message) {
- if (message instanceof ContentObject) {
-
- String responseString = new String(((ContentObject) message).payload());
- Snackbar snackbar = Snackbar
- .make(mSwitchMetisOnOff, responseString, Snackbar.LENGTH_SHORT);
-
- snackbar.show();
- } else {
- Log.d(TAG, "Unexpected non-Content response from sent Interest");
- }
- }
- });
-
- task.execute(mPortalFactory);
- }
- }
- }*/
- }
-
-
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- if (context instanceof OnFragmentVisibleListener) {
- mListener = (OnFragmentVisibleListener) context;
- } else {
- throw new RuntimeException(context.toString()
- + " must implement OnFragmentInteractionListener");
- }
- }
-
-
- @Override
- public void setUserVisibleHint(boolean isVisibleToUser) {
- super.setUserVisibleHint(isVisibleToUser);
- Metis metis = Metis.getInstance();
-
- if (isVisibleToUser) {
- mListener.onFragmentVisible(this);
-
- if (metis.isRunning()) {
- // Begin updating stats.
- if (!mIsStatsQueryRunning) {
- mStatusUpdaterHandler.postDelayed(mStatusUpdateRunnable, 100);
- mIsStatsQueryRunning = true;
- }
- }
- } else {
- mStatusUpdaterHandler.removeCallbacks(mStatusUpdateRunnable);
- mIsStatsQueryRunning = false;
- }
- }
-
- @Override
- public void onDetach() {
- mStatusUpdaterHandler.removeCallbacks(mStatusUpdateRunnable);
- mIsStatsQueryRunning = false;
- super.onDetach();
- mListener = null;
- }
-
- @Override
- public String getFragmentName() {
- return "Status";
- }
-
- public interface OnFragmentVisibleListener {
- // TODO: Update argument type and name
- void onFragmentVisible(Fragment which);
- }
-
- /*private class GetStatusTask extends AsyncTask<PortalFactory, String, Integer> {
-
- private boolean mSuccess = false;
- private PortalFactory mPortalFactory = null;
-
-
- public GetStatusTask(String unused) {
- }
-
- @Override
- protected Integer doInBackground(PortalFactory... args) {
- Thread.currentThread().setName("GetStatusTask-Async");
-
- mPortalFactory = args[0];
- try {
- Name controlName = new Name(MetisConstants.CCNxNameMetisCommand_Stats);
-
- Interest interest = new Interest(controlName);
-
- try {
- Portal portal = mPortalFactory.getPortal();
-
- portal.send(interest, 0L);
-
- Message m = portal.receive(0L);
-
- if (m instanceof ContentObject) {
- mSuccess = true;
- ContentObject co = (ContentObject) m;
- byte[] payload = co.payload();
-
- if (payload != null) {
- String jsonString = new String(payload, Charset.defaultCharset());
- //Log.d(TAG, "Received: XX " + jsonString + " XX");
- try {
- JSONObject jo = new JSONObject(jsonString);
- //Log.d(TAG, "JSON2: " + jo.toString(2));
-
- mNumInterests = jo.getLong("numProcessedInterests");
- mNumCOs = jo.getLong("numProcessedContentObjects");
- mNumControl = jo.getLong("numProcessedControlMessages");
- mNumInterestReturns = jo.getLong("numProcessedInterestReturns");
- } catch (JSONException ex) {
- Log.e(TAG, "Could not parse returned JSON: " + ex.getMessage());
- }
- }
- }
- portal.close();
- } catch (Portal.CommunicationsError ex) {
- Log.e(TAG, "Error sending AddLink command: " + ex.getMessage());
- }
- } catch (Exception ex) {
- Log.e(TAG, "Error adding link: " + ex.getMessage());
- }
-
- return 1;
- }
-
- @Override
- protected void onPostExecute(Integer ignored) {
-
- if (mSuccess) {
- mTVNumInterests.setText(String.valueOf(mNumInterests));
- mTVNumContentObjects.setText(String.valueOf(mNumCOs));
- mTVNumControlMessages.setText(String.valueOf(mNumControl));
- mTVNumInterestReturns.setText(String.valueOf(mNumInterestReturns));
- mTVNumPITEntries.setText("");
- }
- }
- }*/
-
-}