MainActivity.java 5.03 KB
package com.huaheng.wms;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.huaheng.wms.R;
import com.huaheng.wms.fragment.FragmentPresenter;
import com.huaheng.wms.util.Constant;
import com.huaheng.wms.util.WMSUtils;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends FragmentActivity {

    @BindView(R.id.title)
    TextView title;
    @BindView(R.id.menu_view)
    ImageView menuView;
    @BindView(R.id.menu)
    TextView menu;
    @BindView(R.id.board_view)
    ImageView boardView;
    @BindView(R.id.board)
    TextView board;
    @BindView(R.id.setting_view)
    ImageView settingView;
    @BindView(R.id.setting)
    TextView setting;
    @BindView(R.id.content)
    LinearLayout content;
    @BindView(R.id.menu_layout)
    LinearLayout menuLayout;
    @BindView(R.id.board_layout)
    LinearLayout boardLayout;
    @BindView(R.id.setting_layout)
    LinearLayout settingLayout;

    private FragmentPresenter fragmentPresenter;
    private int selectId = -1;
    private final int MENU_INDEX = 0;
    private final int BOARD_INDEX = 1;
    private final int SETTING_INDEX = 2;
    private String[] strarr;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        initSelect();
        initFragment();
        setSelect(MENU_INDEX);
        stopWMSService();
        startWMSService();
        initBroadcast();
    }

    @OnClick({R.id.menu_layout, R.id.board_layout, R.id.setting_layout})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.menu_layout:
                setSelect(MENU_INDEX);
                break;
            case R.id.board_layout:
                setSelect(BOARD_INDEX);
                break;
            case R.id.setting_layout:
                setSelect(SETTING_INDEX);
                break;
        }
    }

    private void initFragment() {
        FragmentManager manager = this.getSupportFragmentManager();
        strarr = getResources().getStringArray(R.array.home_string);
        fragmentPresenter = new FragmentPresenter();
        fragmentPresenter.setFragmentManager(manager);
        fragmentPresenter.setStrarr(strarr);
    }

    private void setSelect(int position) {
        initSelect();
        fragmentPresenter.selectPage(selectId, position);
        selectId = position;
        switch (position) {
            case MENU_INDEX:
                title.setText(WMSUtils.getData(Constant.CURREN_WAREHOUSE));
                menu.setTextColor(getResources().getColor(
                        R.color.bar_font_blue));
                menuView.setImageResource(R.mipmap.bar_icon_menu_pre);
                break;
            case BOARD_INDEX:
                title.setText(R.string.board);
                board.setTextColor(getResources().getColor(
                        R.color.bar_font_blue));
                boardView.setImageResource(R.mipmap.bar_icon_board_pre);
                break;
            case SETTING_INDEX:
                title.setText(R.string.setting);
                setting.setTextColor(getResources().getColor(
                        R.color.bar_font_blue));
                settingView.setImageResource(R.mipmap.bar_icon_setting_pre);
                break;
        }
        title.setText(WMSUtils.getData(Constant.CURREN_COMPANY_NAME, Constant.DEFAULT_COMPANY_NAME));
    }

    private void initSelect() {
        menuView.setImageResource(R.drawable.selector_tab_main_menu);
        menu.setTextColor(getResources().getColor(
                R.color.font_gray));
        boardView.setImageResource(R.drawable.selector_tab_main_board);
        board.setTextColor(getResources().getColor(
                R.color.font_gray));
        settingView.setImageResource(R.drawable.selector_tab_main_setting);
        setting.setTextColor(getResources().getColor(
                R.color.font_gray));
    }

    private void startWMSService() {
        Intent intent = new Intent();
        intent.setClass(this, WMSService.class);
        startService(intent);
    }

    private void stopWMSService() {
        Intent intent = new Intent();
        intent.setClass(this, WMSService.class);
        stopService(intent);
    }

    private void initBroadcast() {
        IntentFilter intentFilter = new IntentFilter("action.company_name");
        this.registerReceiver(receiver, intentFilter);
    }

    private BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            title.setText(WMSUtils.getData(Constant.CURREN_COMPANY_NAME, Constant.DEFAULT_COMPANY_NAME));
        }
    };
}