MainActivity.java :  » Client » juick-android » com » juick » Android Open Source

Android Open Source » Client » juick android 
juick android » com » juick » MainActivity.java
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.juick;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import java.util.Calendar;

/**
 *
 * @author ugnich
 */
public class MainActivity extends MessagesActivity implements OnClickListener {

    public static final int MENUITEM_PREFERENCES = 1;
    public static final int ACTIVITY_SIGNIN = 2;
    public static final int ACTIVITY_PREFERENCES = 3;
    public static final int PENDINGINTENT_CONSTANT = 713242183;
    private Button bTitleWrite;
    private Button bTitleExplore;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        try {
            requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        } catch (Exception e) {
        }
        home = true;
        super.onCreate(savedInstanceState);

        if (!Utils.hasAuth(this)) {
            startActivityForResult(new Intent(this, SignInActivity.class), ACTIVITY_SIGNIN);
            return;
        }

        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.main_title);

        startCheckUpdates(this);

        bTitleWrite = (Button) findViewById(R.id.buttonTitleWrite);
        bTitleExplore = (Button) findViewById(R.id.buttonTitleExplore);
        bTitleWrite.setOnClickListener(this);
        bTitleExplore.setOnClickListener(this);
    }

    public static void startCheckUpdates(Context context) {
        Intent intent = new Intent(context, CheckUpdatesReceiver.class);
        PendingIntent sender = PendingIntent.getBroadcast(context, PENDINGINTENT_CONSTANT, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);

        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        int interval = Integer.parseInt(sp.getString("refresh", "5"));
        if (interval > 0) {
            Calendar cal = Calendar.getInstance();
            cal.add(Calendar.SECOND, 5);
            am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), interval * 60000, sender);
        } else {
            am.cancel(sender);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == ACTIVITY_SIGNIN) {
            if (resultCode == RESULT_OK) {
                onCreate(Bundle.EMPTY);
            } else {
                finish();
            }
        } else if (requestCode == ACTIVITY_PREFERENCES) {
            if (!Utils.hasAuth(this)) {
                finish();
            }
        }
    }

    public void onClick(View v) {
        if (v == bTitleWrite) {
            startActivity(new Intent(this, NewMessageActivity.class));
        } else if (v == bTitleExplore) {
            startActivity(new Intent(this, ExploreActivity.class));
        }
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        if (menu.findItem(MENUITEM_PREFERENCES) == null) {
            menu.add(Menu.NONE, MENUITEM_PREFERENCES, Menu.NONE, R.string.Settings).setIcon(android.R.drawable.ic_menu_preferences);
        }
        return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == MENUITEM_PREFERENCES) {
            startActivityForResult(new Intent(this, PreferencesActivity.class), ACTIVITY_PREFERENCES);
            return true;
        } else {
            return super.onOptionsItemSelected(item);
        }
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.