/** * {@inheritDoc} * * @see android.app.Service#onStartCommand() */ @Override public int onStartCommand(Intent intent, int flags, int startId) { int retVal = super.onStartCommand(intent, flags, startId); Log.initialize(this); Log.d(" GmailExtensionService onStartCommand "); if (intent == null) { Log.d("intent is null."); return START_NOT_STICKY; // FIXME: onStartCommand の戻り値はいったい? } Bundle extras = intent.getExtras(); SharedPreferences appprefs = PreferenceManager.getDefaultSharedPreferences(this); if (extras == null) { Log.d("extras is null."); return START_NOT_STICKY; // FIXME: onStartCommand の戻り値はいったい? } else { if ("^^unseen-^i".equals(extras.getString("tagLabel"))) { Editor e = appprefs.edit(); e.putBoolean("tagLabel", true); e.commit(); Log.d("tagLabel ^i isTrue "); } String extrasStr = ""; Set<String> set = extras.keySet(); for (String str : set) { Log.d("extras:" + str + ":" + extras.get(str).toString()); extrasStr = "extras:" + str + ":" + extras.get(str).toString() + "\n"; } Log.d(extrasStr); } if (appprefs.getBoolean("tagLabel", false) && "^^unseen-^iim".equals(extras.getString("tagLabel"))) { Log.d("tagLabel ^iim && ^i isTrue "); return START_NOT_STICKY; // FIXME: onStartCommand の戻り値はいったい? } // count の数から新着判定 account = extras.getString("account"); unreadcount = extras.getInt("count"); SharedPreferences pref = getSharedPreferences(account, 0); int prev = pref.getInt("count", 0); Editor e = pref.edit(); e.putInt("count", unreadcount); e.commit(); if (prev < extras.getInt("count")) { String t = appprefs.getString(account + "_", ""); if ("".equals(t)) { Log.d("sendAnnounce!"); sendAnnounce(account, "Gmail Received. unread:" + unreadcount); } else { getFeed(t, unreadcount - prev); } } return retVal; }