///*
// * Copyright (C) 2011-14 asksven
// *
// * 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.asksven.betterbatterystats.services;
//
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.io.Reader;
//import java.util.Calendar;
//import org.apache.http.HttpEntity;
//import org.apache.http.HttpResponse;
//import org.apache.http.HttpStatus;
//import org.apache.http.client.methods.HttpGet;
//import org.apache.http.impl.client.DefaultHttpClient;
//
//import com.asksven.android.common.utils.DateUtils;
//import com.asksven.betterbatterystats.data.KbData;
//import com.asksven.betterbatterystats.data.KbDbHelper;
//import com.google.gson.Gson;
//
//import android.app.IntentService;
//import android.content.Intent;
//import android.content.SharedPreferences;
//import android.os.IBinder;
//import android.preference.PreferenceManager;
//import android.util.Log;
//
///**
// * @author sven
// *
// */
//public class KbReaderService extends IntentService
//{
// private static final String TAG = "KbReaderService";
// private static final String URL = "http://asksven.github.com/BetterBatteryStats-Knowledge-Base/kb_v1.0.json";
// private static boolean m_transactional = false;
//
// public KbReaderService()
// {
// super("KbReaderService");
// }
//
// @Override
// public void onHandleIntent(Intent intent)
// {
// m_transactional = true;
// SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
//
// Log.i(TAG, "Called at " + DateUtils.now());
// KbData data = null;
// KbDbHelper myDB = KbDbHelper.getInstance(this);
//
//
// String strUrlMod = sharedPrefs.getString("kb_url_appender", "");
//
// try
// {
// InputStream source = retrieveStream(URL + strUrlMod);
//
// if (source != null)
// {
// Gson gson = new Gson();
// Reader reader = new InputStreamReader(source);
//
// // Now do the magic.
// data = gson.fromJson(reader,
// KbData.class);
// }
// // testing with static data
// //data = new Gson().fromJson(SampleKbData.json, KbData.class);
//
// // save data and update timestamp
// myDB.save(data);
// // update cache update timestamp
// SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// SharedPreferences.Editor editor = prefs.edit();
// editor.putLong("cache_updated", Calendar.getInstance().getTimeInMillis());
// editor.commit();
//
// }
// catch (Exception e)
// {
// e.printStackTrace();
// }
//
//
//
// stopSelf();
// m_transactional = false;
// }
//
// @Override
// public IBinder onBind(Intent intent)
// {
// return null;
// }
//
// public static boolean isTransactional()
// {
// return m_transactional;
// }
//
// private static InputStream retrieveStream(String url)
// {
// DefaultHttpClient client = new DefaultHttpClient();
// HttpGet getRequest = new HttpGet(url);
// try
// {
// HttpResponse getResponse = client.execute(getRequest);
//
// final int statusCode = getResponse.getStatusLine().getStatusCode();
//
// if (statusCode != HttpStatus.SC_OK)
// {
// Log.w(TAG,
// "Error " + statusCode + " for URL " + url);
// return null;
// }
// HttpEntity getResponseEntity = getResponse.getEntity();
// return getResponseEntity.getContent();
// }
// catch (IOException e)
// {
// getRequest.abort();
// Log.w(TAG, "Error for URL " + url, e);
// }
// return null;
// }
//
//}