diff --git a/commons/app/build.gradle b/commons/app/build.gradle index db027604d..8bf7f2583 100644 --- a/commons/app/build.gradle +++ b/commons/app/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.application' dependencies { compile fileTree(dir: 'libs', include: '*.jar') - compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' compile 'com.google.code.gson:gson:1.4' compile 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar' compile 'in.yuvi:http.fluent:1.3' @@ -12,8 +11,8 @@ dependencies { compile 'org.mediawiki:api:1.3' compile 'de.keyboardsurfer.android.widget:crouton:1.8.5@aar' compile group: 'commons-codec', name: 'commons-codec', version: '1.10' - compile 'com.android.support:support-v4:22.1.0' - + compile 'com.android.support:support-v4:23.4.0' + compile 'com.android.support:appcompat-v7:23.4.0' } android { diff --git a/commons/app/src/main/AndroidManifest.xml b/commons/app/src/main/AndroidManifest.xml index 6ebd13947..50be5c2b1 100644 --- a/commons/app/src/main/AndroidManifest.xml +++ b/commons/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ android:name=".CommonsApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" - android:theme="@style/AppTheme" + android:theme="@style/Theme.AppCompat" android:supportsRtl="true" > categories); } @@ -56,8 +64,8 @@ public class CategorizationFragment extends SherlockFragment{ // LHS guarantees ordered insertions, allowing for prioritized method A results private final Set results = new LinkedHashSet(); - PrefixUpdater prefixUpdaterSub; - MethodAUpdater methodAUpdaterSub; + fr.free.nrw.commons.category.PrefixUpdater prefixUpdaterSub; + fr.free.nrw.commons.category.MethodAUpdater methodAUpdaterSub; private ContentProviderClient client; @@ -108,14 +116,14 @@ public class CategorizationFragment extends SherlockFragment{ try { Cursor cursor = client.query( - CategoryContentProvider.BASE_URI, - Category.Table.ALL_FIELDS, + fr.free.nrw.commons.category.CategoryContentProvider.BASE_URI, + fr.free.nrw.commons.category.Category.Table.ALL_FIELDS, null, new String[]{}, - Category.Table.COLUMN_LAST_USED + " DESC"); + fr.free.nrw.commons.category.Category.Table.COLUMN_LAST_USED + " DESC"); // fixme add a limit on the original query instead of falling out of the loop? while (cursor.moveToNext() && cursor.getPosition() < SEARCH_CATS_LIMIT) { - Category cat = Category.fromCursor(cursor); + fr.free.nrw.commons.category.Category cat = fr.free.nrw.commons.category.Category.fromCursor(cursor); items.add(cat.getName()); } cursor.close(); @@ -216,7 +224,7 @@ public class CategorizationFragment extends SherlockFragment{ CheckedTextView checkedView; if(view == null) { - checkedView = (CheckedTextView) getSherlockActivity().getLayoutInflater().inflate(R.layout.layout_categories_item, null); + checkedView = (CheckedTextView) getActivity().getLayoutInflater().inflate(R.layout.layout_categories_item, null); } else { checkedView = (CheckedTextView) view; @@ -241,16 +249,16 @@ public class CategorizationFragment extends SherlockFragment{ return count; } - private Category lookupCategory(String name) { + private fr.free.nrw.commons.category.Category lookupCategory(String name) { try { Cursor cursor = client.query( - CategoryContentProvider.BASE_URI, - Category.Table.ALL_FIELDS, - Category.Table.COLUMN_NAME + "=?", + fr.free.nrw.commons.category.CategoryContentProvider.BASE_URI, + fr.free.nrw.commons.category.Category.Table.ALL_FIELDS, + fr.free.nrw.commons.category.Category.Table.COLUMN_NAME + "=?", new String[] {name}, null); if (cursor.moveToFirst()) { - Category cat = Category.fromCursor(cursor); + fr.free.nrw.commons.category.Category cat = fr.free.nrw.commons.category.Category.fromCursor(cursor); return cat; } } catch (RemoteException e) { @@ -259,7 +267,7 @@ public class CategorizationFragment extends SherlockFragment{ } // Newly used category... - Category cat = new Category(); + fr.free.nrw.commons.category.Category cat = new fr.free.nrw.commons.category.Category(); cat.setName(name); cat.setLastUsed(new Date()); cat.setTimesUsed(0); @@ -276,7 +284,7 @@ public class CategorizationFragment extends SherlockFragment{ @Override protected Void doInBackground(Void... voids) { - Category cat = lookupCategory(name); + fr.free.nrw.commons.category.Category cat = lookupCategory(name); cat.incTimesUsed(); cat.setContentProviderClient(client); @@ -358,7 +366,7 @@ public class CategorizationFragment extends SherlockFragment{ final CountDownLatch latch = new CountDownLatch(1); - prefixUpdaterSub = new PrefixUpdater(this) { + prefixUpdaterSub = new fr.free.nrw.commons.category.PrefixUpdater(this) { @Override protected ArrayList doInBackground(Void... voids) { ArrayList result = new ArrayList(); @@ -390,7 +398,7 @@ public class CategorizationFragment extends SherlockFragment{ } }; - methodAUpdaterSub = new MethodAUpdater(this) { + methodAUpdaterSub = new fr.free.nrw.commons.category.MethodAUpdater(this) { @Override protected void onPostExecute(ArrayList result) { results.clear(); @@ -421,7 +429,7 @@ public class CategorizationFragment extends SherlockFragment{ } @Override - public void onCreateOptionsMenu(Menu menu, com.actionbarsherlock.view.MenuInflater inflater) { + public void onCreateOptionsMenu(Menu menu, android.view.MenuInflater inflater) { menu.clear(); inflater.inflate(R.menu.fragment_categorization, menu); } @@ -431,7 +439,7 @@ public class CategorizationFragment extends SherlockFragment{ super.onCreate(savedInstanceState); setHasOptionsMenu(true); getActivity().setTitle(R.string.categories_activity_title); - client = getActivity().getContentResolver().acquireContentProviderClient(CategoryContentProvider.AUTHORITY); + client = getActivity().getContentResolver().acquireContentProviderClient(fr.free.nrw.commons.category.CategoryContentProvider.AUTHORITY); } @Override diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/Contribution.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/Contribution.java index b5ec3d155..79f9c65f0 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/Contribution.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/Contribution.java @@ -1,16 +1,22 @@ package fr.free.nrw.commons.contributions; -import java.text.*; -import java.util.*; - -import android.content.*; +import android.content.ContentProviderClient; +import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; -import android.net.*; -import android.os.*; -import android.text.*; +import android.net.Uri; +import android.os.Parcel; +import android.os.RemoteException; +import android.text.TextUtils; -import fr.free.nrw.commons.*; +import java.text.SimpleDateFormat; +import java.util.Date; + +import fr.free.nrw.commons.CommonsApplication; +import fr.free.nrw.commons.EventLog; +import fr.free.nrw.commons.Media; +import fr.free.nrw.commons.Prefs; +import fr.free.nrw.commons.Utils; public class Contribution extends Media { @@ -150,7 +156,7 @@ public class Contribution extends Media { public void save() { try { if(contentUri == null) { - contentUri = client.insert(ContributionsContentProvider.BASE_URI, this.toContentValues()); + contentUri = client.insert(fr.free.nrw.commons.contributions.ContributionsContentProvider.BASE_URI, this.toContentValues()); } else { client.update(contentUri, toContentValues(), null, null); } @@ -215,7 +221,7 @@ public class Contribution extends Media { public static Contribution fromCursor(Cursor cursor) { // Hardcoding column positions! Contribution c = new Contribution(); - c.contentUri = ContributionsContentProvider.uriForId(cursor.getInt(0)); + c.contentUri = fr.free.nrw.commons.contributions.ContributionsContentProvider.uriForId(cursor.getInt(0)); c.filename = cursor.getString(1); c.localUri = TextUtils.isEmpty(cursor.getString(2)) ? null : Uri.parse(cursor.getString(2)); c.imageUrl = cursor.getString(3); diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionController.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionController.java index ceb4fd5d4..b37e1b018 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionController.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionController.java @@ -1,28 +1,29 @@ package fr.free.nrw.commons.contributions; -import android.app.*; +import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; +import android.support.v4.app.Fragment; import android.util.Log; -import com.actionbarsherlock.app.SherlockFragment; -import fr.free.nrw.commons.upload.ShareActivity; -import fr.free.nrw.commons.upload.UploadService; import java.io.File; import java.io.IOException; import java.util.Date; +import fr.free.nrw.commons.upload.ShareActivity; +import fr.free.nrw.commons.upload.UploadService; + public class ContributionController { - private SherlockFragment fragment; + private Fragment fragment; private Activity activity; private final static int SELECT_FROM_GALLERY = 1; private final static int SELECT_FROM_CAMERA = 2; - public ContributionController(SherlockFragment fragment) { + public ContributionController(Fragment fragment) { this.fragment = fragment; this.activity = fragment.getActivity(); } @@ -72,12 +73,12 @@ public class ContributionController { case SELECT_FROM_GALLERY: shareIntent.setType(activity.getContentResolver().getType(data.getData())); shareIntent.putExtra(Intent.EXTRA_STREAM, data.getData()); - shareIntent.putExtra(UploadService.EXTRA_SOURCE, Contribution.SOURCE_GALLERY); + shareIntent.putExtra(UploadService.EXTRA_SOURCE, fr.free.nrw.commons.contributions.Contribution.SOURCE_GALLERY); break; case SELECT_FROM_CAMERA: shareIntent.setType("image/jpeg"); //FIXME: Find out appropriate mime type shareIntent.putExtra(Intent.EXTRA_STREAM, lastGeneratedCaptureURI); - shareIntent.putExtra(UploadService.EXTRA_SOURCE, Contribution.SOURCE_CAMERA); + shareIntent.putExtra(UploadService.EXTRA_SOURCE, fr.free.nrw.commons.contributions.Contribution.SOURCE_CAMERA); break; } Log.i("Image", "Image selected"); diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index d79572ebb..cbbc896c9 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -1,32 +1,36 @@ package fr.free.nrw.commons.contributions; +import android.content.ComponentName; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.content.ServiceConnection; +import android.database.Cursor; import android.database.DataSetObserver; +import android.os.Bundle; import android.os.IBinder; import android.support.v4.app.FragmentManager; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; -import android.content.*; -import android.database.Cursor; -import android.os.Bundle; import android.support.v4.widget.CursorAdapter; import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; -import android.widget.AdapterView; import android.widget.Adapter; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuItem; +import android.widget.AdapterView; + +import java.util.ArrayList; -import fr.free.nrw.commons.*; -import fr.free.nrw.commons.auth.*; import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.HandlerService; import fr.free.nrw.commons.Media; +import fr.free.nrw.commons.R; +import fr.free.nrw.commons.auth.*; import fr.free.nrw.commons.media.*; import fr.free.nrw.commons.upload.UploadService; -import java.util.ArrayList; - public class ContributionsActivity extends AuthenticatedActivity implements LoaderManager.LoaderCallbacks, @@ -35,7 +39,6 @@ public class ContributionsActivity FragmentManager.OnBackStackChangedListener, ContributionsListFragment.SourceRefresher { - private Cursor allContributions; private ContributionsListFragment contributionsList; private MediaDetailPagerFragment mediaDetails; diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index 3c6c0cd37..abdc6463c 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -9,19 +9,21 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.*; -import com.actionbarsherlock.app.SherlockFragment; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; -import com.actionbarsherlock.view.MenuItem; +import android.widget.AdapterView; +import android.widget.GridView; +import android.widget.ListAdapter; +import android.widget.TextView; +import android.support.v4.app.Fragment; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; - -import fr.free.nrw.commons.R; import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.CommonsApplication; +import fr.free.nrw.commons.R; import fr.free.nrw.commons.SettingsActivity; -public class ContributionsListFragment extends SherlockFragment { +public class ContributionsListFragment extends Fragment { @@ -33,11 +35,29 @@ public class ContributionsListFragment extends SherlockFragment { private TextView waitingMessage; private TextView emptyMessage; - private ContributionController controller; + private fr.free.nrw.commons.contributions.ContributionController controller; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_contributions, container, false); + View v = inflater.inflate(R.layout.fragment_contributions, container, false); + + contributionsList = (GridView) v.findViewById(R.id.contributionsList); + waitingMessage = (TextView) v.findViewById(R.id.waitingMessage); + emptyMessage = (TextView) v.findViewById(R.id.waitingMessage); + + contributionsList.setOnItemClickListener((AdapterView.OnItemClickListener)getActivity()); + if(savedInstanceState != null) { + Log.d("Commons", "Scrolling to " + savedInstanceState.getInt("grid-position")); + contributionsList.setSelection(savedInstanceState.getInt("grid-position")); + } + + SharedPreferences prefs = this.getActivity().getSharedPreferences("prefs", Context.MODE_PRIVATE); + String lastModified = prefs.getString("lastSyncTimestamp", ""); + if (lastModified.equals("")) { + waitingMessage.setVisibility(View.VISIBLE); + } + + return v; } public ListAdapter getAdapter() { @@ -125,24 +145,8 @@ public class ContributionsListFragment extends SherlockFragment { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - controller = new ContributionController(this); + controller = new fr.free.nrw.commons.contributions.ContributionController(this); controller.loadState(savedInstanceState); - - contributionsList = (GridView)getView().findViewById(R.id.contributionsList); - waitingMessage = (TextView)getView().findViewById(R.id.waitingMessage); - emptyMessage = (TextView)getView().findViewById(R.id.waitingMessage); - - contributionsList.setOnItemClickListener((AdapterView.OnItemClickListener)getActivity()); - if(savedInstanceState != null) { - Log.d("Commons", "Scrolling to " + savedInstanceState.getInt("grid-position")); - contributionsList.setSelection(savedInstanceState.getInt("grid-position")); - } - - SharedPreferences prefs = this.getActivity().getSharedPreferences("prefs", Context.MODE_PRIVATE); - String lastModified = prefs.getString("lastSyncTimestamp", ""); - if (lastModified.equals("")) { - waitingMessage.setVisibility(View.VISIBLE); - } } private void clearSyncMessage() { diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 669ef1bbb..96dde54bb 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -2,30 +2,45 @@ package fr.free.nrw.commons.media; import android.content.Intent; import android.database.DataSetObserver; -import android.graphics.*; -import android.os.*; -import android.text.*; +import android.graphics.Bitmap; +import android.os.AsyncTask; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; -import android.view.*; -import android.widget.*; -import com.actionbarsherlock.app.SherlockFragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.ScrollView; +import android.widget.TextView; + +import com.android.volley.toolbox.ImageLoader; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.assist.ImageLoadingListener; -import com.android.volley.toolbox.*; - -import fr.free.nrw.commons.*; - import java.io.IOException; import java.util.ArrayList; -public class MediaDetailFragment extends SherlockFragment { +import fr.free.nrw.commons.CommonsApplication; +import fr.free.nrw.commons.License; +import fr.free.nrw.commons.LicenseList; +import fr.free.nrw.commons.Media; +import fr.free.nrw.commons.MediaDataExtractor; +import fr.free.nrw.commons.MediaWikiImageView; +import fr.free.nrw.commons.R; +import fr.free.nrw.commons.Utils; + +public class MediaDetailFragment extends Fragment { private boolean editable; private DisplayImageOptions displayOptions; - private MediaDetailPagerFragment.MediaDetailProvider detailProvider; + private fr.free.nrw.commons.media.MediaDetailPagerFragment.MediaDetailProvider detailProvider; private int index; public static MediaDetailFragment forMedia(int index) { @@ -50,7 +65,7 @@ public class MediaDetailFragment extends SherlockFragment { //private EditText title; private ProgressBar loadingProgress; private ImageView loadingFailed; - private MediaDetailSpacer spacer; + private fr.free.nrw.commons.media.MediaDetailSpacer spacer; private int initialListTop = 0; private TextView title; @@ -84,7 +99,7 @@ public class MediaDetailFragment extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - detailProvider = (MediaDetailPagerFragment.MediaDetailProvider)getActivity(); + detailProvider = (fr.free.nrw.commons.media.MediaDetailPagerFragment.MediaDetailProvider)getActivity(); if(savedInstanceState != null) { editable = savedInstanceState.getBoolean("editable"); @@ -106,7 +121,7 @@ public class MediaDetailFragment extends SherlockFragment { scrollView = (ScrollView) view.findViewById(R.id.mediaDetailScrollView); // Detail consists of a list view with main pane in header view, plus category list. - spacer = (MediaDetailSpacer) view.findViewById(R.id.mediaDetailSpacer); + spacer = (fr.free.nrw.commons.media.MediaDetailSpacer) view.findViewById(R.id.mediaDetailSpacer); title = (TextView) view.findViewById(R.id.mediaDetailTitle); desc = (TextView) view.findViewById(R.id.mediaDetailDesc); license = (TextView) view.findViewById(R.id.mediaDetailLicense); diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 5b20167d3..596935389 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -1,36 +1,42 @@ package fr.free.nrw.commons.media; import android.app.DownloadManager; -import android.content.*; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.database.Cursor; import android.database.DataSetObserver; -import android.net.*; -import android.os.*; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.Environment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; -import android.view.*; -import com.actionbarsherlock.app.SherlockFragment; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; -import com.actionbarsherlock.view.MenuItem; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; -import fr.free.nrw.commons.*; import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.EventLog; import fr.free.nrw.commons.Media; +import fr.free.nrw.commons.R; import fr.free.nrw.commons.contributions.Contribution; import fr.free.nrw.commons.contributions.ContributionsActivity; -public class MediaDetailPagerFragment extends SherlockFragment implements ViewPager.OnPageChangeListener { +public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPageChangeListener { private ViewPager pager; private Boolean editable; private CommonsApplication app; public void onPageScrolled(int i, float v, int i2) { - getSherlockActivity().supportInvalidateOptionsMenu(); + getActivity().supportInvalidateOptionsMenu(); } public void onPageSelected(int i) { @@ -59,11 +65,11 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa // See bug https://code.google.com/p/android/issues/detail?id=27526 pager.postDelayed(new Runnable() { public void run() { - getSherlockActivity().supportInvalidateOptionsMenu(); + getActivity().supportInvalidateOptionsMenu(); } }, 5); } - return MediaDetailFragment.forMedia(i, editable); + return fr.free.nrw.commons.media.MediaDetailFragment.forMedia(i, editable); } @Override @@ -93,7 +99,7 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa public void run() { pager.setAdapter(new MediaDetailAdapter(getChildFragmentManager())); pager.setCurrentItem(pageNumber, false); - getSherlockActivity().supportInvalidateOptionsMenu(); + getActivity().supportInvalidateOptionsMenu(); } }, 100); } else { @@ -121,7 +127,7 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa @Override public boolean onOptionsItemSelected(MenuItem item) { - MediaDetailProvider provider = (MediaDetailProvider)getSherlockActivity(); + MediaDetailProvider provider = (MediaDetailProvider)getActivity(); Media m = provider.getMediaAtPosition(pager.getCurrentItem()); switch(item.getItemId()) { case R.id.menu_share_current_image: @@ -147,12 +153,12 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa case R.id.menu_retry_current_image: // Is this... sane? :) ((ContributionsActivity)getActivity()).retryUpload(pager.getCurrentItem()); - getSherlockActivity().getSupportFragmentManager().popBackStack(); + getActivity().getSupportFragmentManager().popBackStack(); return true; case R.id.menu_cancel_current_image: // todo: delete image ((ContributionsActivity)getActivity()).deleteUpload(pager.getCurrentItem()); - getSherlockActivity().getSupportFragmentManager().popBackStack(); + getActivity().getSupportFragmentManager().popBackStack(); return true; default: return super.onOptionsItemSelected(item); @@ -233,7 +239,7 @@ public class MediaDetailPagerFragment extends SherlockFragment implements ViewPa menu.clear(); // see http://stackoverflow.com/a/8495697/17865 inflater.inflate(R.menu.fragment_image_detail, menu); if(pager != null) { - MediaDetailProvider provider = (MediaDetailProvider)getSherlockActivity(); + MediaDetailProvider provider = (MediaDetailProvider)getActivity(); Media m = provider.getMediaAtPosition(pager.getCurrentItem()); if(m != null) { // Enable default set of actions, then re-enable different set of actions only if it is a failed contrib diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java index bd7a0be03..a12ef2a0d 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java @@ -8,10 +8,10 @@ import android.database.DataSetObserver; import android.net.*; import android.os.*; import android.support.v4.app.FragmentManager; +import android.support.v7.app.AppCompatActivity; import android.view.*; import android.view.inputmethod.InputMethodManager; import android.widget.*; -import com.actionbarsherlock.view.MenuItem; import fr.free.nrw.commons.*; import fr.free.nrw.commons.auth.*; diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java index 267a9642d..23a6f498a 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/MultipleUploadListFragment.java @@ -4,14 +4,12 @@ import android.content.*; import android.graphics.*; import android.net.*; import android.os.*; +import android.support.v4.app.Fragment; import android.text.*; import android.util.*; import android.view.*; import android.view.inputmethod.InputMethodManager; import android.widget.*; -import com.actionbarsherlock.app.SherlockFragment; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuItem; import com.nostra13.universalimageloader.core.*; import fr.free.nrw.commons.R; @@ -20,7 +18,7 @@ import fr.free.nrw.commons.contributions.*; import fr.free.nrw.commons.media.*; -public class MultipleUploadListFragment extends SherlockFragment { +public class MultipleUploadListFragment extends Fragment { public interface OnMultipleUploadInitiatedHandler { public void OnMultipleUploadInitiated(); @@ -183,7 +181,7 @@ public class MultipleUploadListFragment extends SherlockFragment { } @Override - public void onCreateOptionsMenu(Menu menu, com.actionbarsherlock.view.MenuInflater inflater) { + public void onCreateOptionsMenu(Menu menu, android.view.MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); menu.clear(); inflater.inflate(R.menu.fragment_multiple_upload_list, menu); diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/ShareActivity.java index 5f543f61b..d01f4d194 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -1,32 +1,32 @@ package fr.free.nrw.commons.upload; -import android.content.*; -import android.database.Cursor; -import android.os.*; -import com.nostra13.universalimageloader.core.ImageLoader; -import android.net.*; -import android.provider.MediaStore; +import android.content.ContentResolver; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.os.Environment; import android.support.v4.app.NavUtils; -import com.actionbarsherlock.view.MenuItem; - import android.util.Log; -import android.widget.*; +import android.view.MenuItem; +import android.widget.ImageView; +import android.widget.Toast; -import fr.free.nrw.commons.*; -import fr.free.nrw.commons.caching.CacheController; -import fr.free.nrw.commons.modifications.CategoryModifier; -import fr.free.nrw.commons.modifications.TemplateRemoveModifier; -import fr.free.nrw.commons.CommonsApplication; -import fr.free.nrw.commons.EventLog; -import fr.free.nrw.commons.category.CategorizationFragment; -import fr.free.nrw.commons.contributions.*; -import fr.free.nrw.commons.auth.*; -import fr.free.nrw.commons.modifications.ModificationsContentProvider; -import fr.free.nrw.commons.modifications.ModifierSequence; +import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; +import fr.free.nrw.commons.CommonsApplication; +import fr.free.nrw.commons.EventLog; +import fr.free.nrw.commons.R; +import fr.free.nrw.commons.auth.*; +import fr.free.nrw.commons.category.CategorizationFragment; +import fr.free.nrw.commons.contributions.*; +import fr.free.nrw.commons.modifications.CategoryModifier; +import fr.free.nrw.commons.modifications.ModificationsContentProvider; +import fr.free.nrw.commons.modifications.ModifierSequence; +import fr.free.nrw.commons.modifications.TemplateRemoveModifier; + /** * Activity for the title/desc screen after image is selected. Also starts processing image * GPS coordinates or user location (if enabled in Settings) for category suggestions. diff --git a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java index 70e399d20..89201b2b9 100644 --- a/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java +++ b/commons/app/src/main/java/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java @@ -7,24 +7,25 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.TextView; -import com.actionbarsherlock.app.SherlockFragment; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; -import com.actionbarsherlock.view.MenuItem; -import fr.free.nrw.commons.Prefs; -import fr.free.nrw.commons.Utils; -import fr.free.nrw.commons.R; -public class SingleUploadFragment extends SherlockFragment { +import fr.free.nrw.commons.Prefs; +import fr.free.nrw.commons.R; +import fr.free.nrw.commons.Utils; + +public class SingleUploadFragment extends Fragment { public interface OnUploadActionInitiated { void uploadActionInitiated(String title, String description); @@ -69,8 +70,8 @@ public class SingleUploadFragment extends SherlockFragment { public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {} public void afterTextChanged(Editable editable) { - if(getSherlockActivity() != null) { - getSherlockActivity().invalidateOptionsMenu(); + if(getActivity() != null) { + getActivity().invalidateOptionsMenu(); } } }; diff --git a/commons/app/src/main/res/menu/activity_login.xml b/commons/app/src/main/res/menu/activity_login.xml index cfc10fd52..93729af68 100644 --- a/commons/app/src/main/res/menu/activity_login.xml +++ b/commons/app/src/main/res/menu/activity_login.xml @@ -1,6 +1,7 @@ - + + app:showAsAction="never" /> diff --git a/commons/app/src/main/res/menu/activity_share.xml b/commons/app/src/main/res/menu/activity_share.xml index d41bc4ecc..f9a2bced5 100644 --- a/commons/app/src/main/res/menu/activity_share.xml +++ b/commons/app/src/main/res/menu/activity_share.xml @@ -1,7 +1,8 @@ - + + app:showAsAction="always" /> diff --git a/commons/app/src/main/res/menu/fragment_categorization.xml b/commons/app/src/main/res/menu/fragment_categorization.xml index ba5211050..b3d8cce16 100644 --- a/commons/app/src/main/res/menu/fragment_categorization.xml +++ b/commons/app/src/main/res/menu/fragment_categorization.xml @@ -1,8 +1,9 @@ - + + app:showAsAction="always" /> \ No newline at end of file diff --git a/commons/app/src/main/res/menu/fragment_contributions_list.xml b/commons/app/src/main/res/menu/fragment_contributions_list.xml index 14cc7322e..c4ff771b7 100644 --- a/commons/app/src/main/res/menu/fragment_contributions_list.xml +++ b/commons/app/src/main/res/menu/fragment_contributions_list.xml @@ -1,34 +1,35 @@ - + diff --git a/commons/app/src/main/res/menu/fragment_image_detail.xml b/commons/app/src/main/res/menu/fragment_image_detail.xml index 8a114ddbc..670bdf689 100644 --- a/commons/app/src/main/res/menu/fragment_image_detail.xml +++ b/commons/app/src/main/res/menu/fragment_image_detail.xml @@ -1,30 +1,31 @@ - + - + \ No newline at end of file diff --git a/commons/app/src/main/res/values/styles.xml b/commons/app/src/main/res/values/styles.xml index 84c89ee2c..6b4aa3ad5 100644 --- a/commons/app/src/main/res/values/styles.xml +++ b/commons/app/src/main/res/values/styles.xml @@ -1,12 +1,12 @@ - - +