mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Initial commit
This commit is contained in:
commit
6ae5282f8a
32 changed files with 516 additions and 0 deletions
23
src/org/wikimedia/commons/CommonsApplication.java
Normal file
23
src/org/wikimedia/commons/CommonsApplication.java
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
package org.wikimedia.commons;
|
||||
|
||||
import android.app.Application;
|
||||
import org.mediawiki.api.*;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
|
||||
public class CommonsApplication extends Application {
|
||||
|
||||
private MWApi api;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
// TODO Auto-generated method stub
|
||||
super.onCreate();
|
||||
DefaultHttpClient client = new DefaultHttpClient();
|
||||
api = new MWApi("http://test.wikipedia.org/w/api.php", client);
|
||||
}
|
||||
|
||||
public MWApi getApi() {
|
||||
return api;
|
||||
}
|
||||
|
||||
}
|
||||
47
src/org/wikimedia/commons/ImageLoaderTask.java
Normal file
47
src/org/wikimedia/commons/ImageLoaderTask.java
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
package org.wikimedia.commons;
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
|
||||
import android.graphics.*;
|
||||
import android.net.Uri;
|
||||
import android.os.*;
|
||||
import android.provider.MediaStore;
|
||||
import android.widget.*;
|
||||
|
||||
class ImageLoaderTask extends AsyncTask<Uri, String, Bitmap> {
|
||||
ImageView view;
|
||||
|
||||
private Bitmap getBitmap(Uri url) throws MalformedURLException, IOException {
|
||||
if(url.getScheme().equals("content")) {
|
||||
return MediaStore.Images.Media.getBitmap(view.getContext().getContentResolver(), url);
|
||||
} else {
|
||||
Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(url.toString()).getContent());
|
||||
return bitmap;
|
||||
}
|
||||
}
|
||||
|
||||
ImageLoaderTask(ImageView view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bitmap doInBackground(Uri... params) {
|
||||
Uri url = params[0];
|
||||
Bitmap bitmap;
|
||||
try {
|
||||
bitmap = getBitmap(url);
|
||||
} catch (MalformedURLException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Bitmap result) {
|
||||
super.onPostExecute(result);
|
||||
view.setImageBitmap(result);
|
||||
}
|
||||
}
|
||||
104
src/org/wikimedia/commons/LoginActivity.java
Normal file
104
src/org/wikimedia/commons/LoginActivity.java
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
package org.wikimedia.commons;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.view.*;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.support.v4.app.NavUtils;
|
||||
|
||||
public class LoginActivity extends Activity {
|
||||
|
||||
private CommonsApplication app;
|
||||
|
||||
Button loginButton;
|
||||
EditText usernameEdit;
|
||||
EditText passwordEdit;
|
||||
|
||||
private class LoginTask extends AsyncTask<String, String, String> {
|
||||
|
||||
Context context;
|
||||
ProgressDialog dialog;
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
super.onPostExecute(result);
|
||||
if(result.equals("Success")) {
|
||||
dialog.cancel();
|
||||
} else {
|
||||
dialog.setMessage("Ayyooo poche!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
dialog = new ProgressDialog(context);
|
||||
dialog.setIndeterminate(true);
|
||||
dialog.setTitle(getString(R.string.logging_in_title));
|
||||
dialog.setMessage(getString(R.string.logging_in_message));
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
LoginTask(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(String... params) {
|
||||
String username = params[0];
|
||||
String password = params[1];
|
||||
try {
|
||||
return app.getApi().login(username, password);
|
||||
} catch (IOException e) {
|
||||
// Do something better!
|
||||
return "Failure";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
app = (CommonsApplication)this.getApplicationContext();
|
||||
setContentView(R.layout.activity_login);
|
||||
loginButton = (Button)findViewById(R.id.loginButton);
|
||||
usernameEdit = (EditText)findViewById(R.id.loginUsername);
|
||||
passwordEdit = (EditText)findViewById(R.id.loginPassword);
|
||||
final Context that = this;
|
||||
loginButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String username = usernameEdit.getText().toString();
|
||||
String password = passwordEdit.getText().toString();
|
||||
|
||||
LoginTask task = new LoginTask(that);
|
||||
task.execute(username, password);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.activity_login, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
}
|
||||
54
src/org/wikimedia/commons/ShareActivity.java
Normal file
54
src/org/wikimedia/commons/ShareActivity.java
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
package org.wikimedia.commons;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.*;
|
||||
import android.view.*;
|
||||
import android.widget.*;
|
||||
import android.support.v4.app.NavUtils;
|
||||
|
||||
public class ShareActivity extends Activity {
|
||||
|
||||
private CommonsApplication app;
|
||||
|
||||
private ImageView backgroundImageView;
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_share);
|
||||
app = (CommonsApplication)this.getApplicationContext();
|
||||
backgroundImageView = (ImageView)findViewById(R.id.backgroundImage);
|
||||
Intent intent = getIntent();
|
||||
if(intent.getAction().equals(Intent.ACTION_SEND)) {
|
||||
if(intent.getType().startsWith("image/")) {
|
||||
ImageLoaderTask loader = new ImageLoaderTask(backgroundImageView);
|
||||
Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
|
||||
loader.execute(imageUri);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.activity_share, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue