/* Swisscom Safe Connect Copyright (C) 2014 Swisscom This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.swisscom.safeconnect.model; import org.json.JSONObject; import java.util.Locale; /** * Created by vadim on 15.07.14. */ public class PlumberStatsResponse extends PlumberResponse { private String phone; private String username; private String deviceId; private TrafficStats currentStats; private TrafficStats todayStats; private TrafficStats monthStats; private TrafficStats totalStats; public PlumberStatsResponse() { fromJson((JSONObject) null); } public PlumberStatsResponse(String json) { super(json); } public PlumberStatsResponse(JSONObject json) { super(json); } @Override public String toString() { return String.format(Locale.getDefault(), "PlumberStatsResponse {" + "\nphone: %s" + "\nusername: %s" + "\ncurrent: %s" + "\ntoday: %s" + "\nmonth: %s" + "\ntotal: %s" + "\n}", phone, username, currentStats.toString(), todayStats.toString(), monthStats.toString(), totalStats.toString() ); } public boolean isUserActive() { return username != null && !username.isEmpty(); } @Override protected void fromJson(JSONObject json) { if (json == null) { currentStats = new TrafficStats(); todayStats = new TrafficStats(); monthStats = new TrafficStats(); totalStats = new TrafficStats(); phone = username = null; return; } phone = json.optString("phone"); username = json.optString("user_name"); deviceId = json.optString("device_id"); currentStats = new TrafficStats(json.optJSONObject("session_stat")); todayStats = new TrafficStats(json.optJSONObject("day_stat")); monthStats = new TrafficStats(json.optJSONObject("month_stat")); totalStats = new TrafficStats(json.optJSONObject("total_stat")); } public String getPhone() { return phone; } public String getUsername() { return username; } public String getDeviceId() { return deviceId; } public TrafficStats getCurrentStats() { return currentStats; } public TrafficStats getTodayStats() { return todayStats; } public TrafficStats getMonthStats() { return monthStats; } public TrafficStats getTotalStats() { return totalStats; } }