CountService.java 3.31 KB
/*
 *  Copyright (c)  2017.  wugian
 *  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.xgimi.gimicinema.service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.text.TextUtils;
import android.util.Log;
import com.gimi.common.cinema.model.Constant;
import com.gimi.common.cinema.model.MessageEvent;
import com.gimi.common.cinema.utils.CToast;
import com.gimi.common.cinema.utils.LogUtils;
import com.gimi.common.cinema.utils.ResUtils;
import com.xgimi.gimicinema.R;
import com.xgimi.gimicinema.application.FangTangApplication;
import org.greenrobot.eventbus.EventBus;

import static com.gimi.common.cinema.model.Constant.count;

public class CountService extends Service {
    public static final String TAG = "CountService";
    public static final String STATUS_ACTION = "com.qnbar.count.service";
    public static final int COUNT_DOWN_ZERO = 0x801;
//    private int count = 0;

    @Override
    public IBinder onBind(Intent intent) {
        throw new NullPointerException();
    }


    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
//        count = intent.getIntExtra("countDown", 0);
        LogUtils.d(TAG, "count is :" + count);
        if (Constant.count > 0) {
            Log.d(TAG, "if");
            if (Constant.count == 5) {
                String showMsg = ResUtils.getResResult(this, R.string.ads_promote, R.string.welcome_again);
                CToast.makeText(this, showMsg, 30 * 1000).show();
            }
            if (Constant.count == 10) {
                if (!TextUtils.isEmpty(((FangTangApplication) getApplicationContext()).getCurrentPlayUrl())) {
                    String showMsg = ResUtils.getResResult(this, R.string.ads_promote, R.string.time_ends_ten_min);
                    CToast.makeText(this, showMsg, 30 * 1000).show();
                }
            }
            new CountDownThread().start();
        } else {
            Log.d(TAG, "else");
            CountService.this.onDestroy();
        }
        return super.onStartCommand(intent, flags, startId);
    }

    class CountDownThread extends Thread {
        @Override
        public void run() {
            LogUtils.d(TAG, "Polling...");
            //if true restart AskService polling
            if (count-- <= 1) {
                MessageEvent messageEvent = new MessageEvent();
                messageEvent.setEventId(COUNT_DOWN_ZERO);
                messageEvent.setMessage("记数为0");
                messageEvent.setMessage("count_service");
                EventBus.getDefault().post(messageEvent);
                CountService.this.onDestroy();
            }
        }
    }

    @Override
    public void onDestroy() {
        LogUtils.d(TAG, "Service:onDestroy");
        System.out.println("Service:onDestroy");
        super.onDestroy();
    }
}