Triker.java :  » Geo » triker » pl » edu » szlif » triker » Android Open Source

Android Open Source » Geo » triker 
triker » pl » edu » szlif » triker » Triker.java
package pl.edu.szlif.triker;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.FrameLayout;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
public class Triker extends Activity {
  
  static class Conf{
    final public static String backUrl="http://1.szliftriker.appspot.com/init";
    final public static String appId="110971068940341";
    final public static String []scope={"offline_access","publish_stream"};
  }
  
  static boolean loggedIn=false;
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        final Dialog dialog = new Dialog(this) {
          
          @Override
          protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

                final WebView wv = new WebView(this.getContext());
                String url="http://graph.facebook.com/oauth/authorize?client_id="+Conf.appId+"&redirect_uri="+Conf.backUrl+"&display=wap&scope=";
                for(String s : Conf.scope){
                  url+=s+",";
                }
                wv.loadUrl(url);
                wv.getSettings().setJavaScriptEnabled(true);
                
                wv.setWebViewClient(new WebViewClient() {  
                    @Override  
                    public boolean shouldOverrideUrlLoading(WebView view, String url)  
                    {  
                      view.loadUrl(url);  
                      return true;  
                    }  
                    
                  @Override
                    public void  onPageFinished(WebView  view, String  url){
                    if(url.startsWith(Conf.backUrl))
                    {
                      //TODO: save the code
                      
                      dismiss();
                    }
                    }                  
                    
                  });
          
            requestWindowFeature(Window.FEATURE_NO_TITLE);
                addContentView(wv, new FrameLayout.LayoutParams(
                        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
                        Gravity.BOTTOM));
          }
          
          public boolean onKeyDown(int keyCode, KeyEvent event){
            if (keyCode != KeyEvent.KEYCODE_DPAD_LEFT)
              this.dismiss();
              return true;
            }
      };
      
        Button login=(Button)findViewById(R.id.Login);
        if(!loggedIn){
          login.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View v) {
              dialog.show();
          
        }
          });
          login.setText("Login to Facebook");
        }
        
        Button gpsButton = (Button) findViewById(R.id.ButtonGps);
        gpsButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), GpsLocation.class);
                startActivityForResult(myIntent, 0);
            }
        });
        
        Button mapButton = (Button) findViewById(R.id.ButtonMap);
        mapButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), GoogleMapActivity.class);
                startActivityForResult(myIntent, 0);
            }
        });
        
    }
}
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.