WIP: Migrating activities to appcompat-v7.
Conflicts: src/org/fdroid/fdroid/FDroidApp.java src/org/fdroid/fdroid/views/LocalRepoActivity.java src/org/fdroid/fdroid/views/QrWizardDownloadActivity.java
This commit is contained in:
parent
58ff02a3f4
commit
92421bac05
@ -1,10 +1,10 @@
|
|||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="AppBaseThemeDark" parent="android:Theme.Holo">
|
<style name="AppBaseThemeDark" parent="Theme.AppCompat">
|
||||||
<!-- API 11 theme customizations go here -->
|
<!-- API 11 theme customizations go here -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppBaseThemeLight" parent="android:Theme.Holo.Light">
|
<style name="AppBaseThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<!-- API 11 theme customizations go here -->
|
<!-- API 11 theme customizations go here -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="AppBaseThemeDark" parent="android:Theme.Black">
|
<style name="AppBaseThemeDark" parent="Theme.AppCompat">
|
||||||
<!-- backward-compatibility theme options go here -->
|
<!-- backward-compatibility theme options go here -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppBaseThemeLight" parent="android:Theme.Light">
|
<style name="AppBaseThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<!-- backward-compatibility theme options go here -->
|
<!-- backward-compatibility theme options go here -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -32,9 +32,9 @@ import android.database.ContentObserver;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.support.v4.view.MenuItemCompat;
|
import android.support.v4.view.MenuItemCompat;
|
||||||
import android.support.v4.view.ViewPager;
|
import android.support.v4.view.ViewPager;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.ContextThemeWrapper;
|
import android.view.ContextThemeWrapper;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -42,13 +42,12 @@ import android.view.Menu;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.fdroid.fdroid.compat.TabManager;
|
import org.fdroid.fdroid.compat.TabManager;
|
||||||
import org.fdroid.fdroid.data.AppProvider;
|
import org.fdroid.fdroid.data.AppProvider;
|
||||||
import org.fdroid.fdroid.views.AppListFragmentPageAdapter;
|
import org.fdroid.fdroid.views.AppListFragmentPageAdapter;
|
||||||
import org.fdroid.fdroid.views.LocalRepoActivity;
|
import org.fdroid.fdroid.views.LocalRepoActivity;
|
||||||
|
|
||||||
public class FDroid extends FragmentActivity {
|
public class FDroid extends ActionBarActivity {
|
||||||
|
|
||||||
public static final int REQUEST_APPDETAILS = 0;
|
public static final int REQUEST_APPDETAILS = 0;
|
||||||
public static final int REQUEST_MANAGEREPOS = 1;
|
public static final int REQUEST_MANAGEREPOS = 1;
|
||||||
@ -80,6 +79,7 @@ public class FDroid extends FragmentActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.fdroid);
|
setContentView(R.layout.fdroid);
|
||||||
createViews();
|
createViews();
|
||||||
|
|
||||||
getTabManager().createTabs();
|
getTabManager().createTabs();
|
||||||
|
|
||||||
// Start a search by just typing
|
// Start a search by just typing
|
||||||
@ -333,7 +333,7 @@ public class FDroid extends FragmentActivity {
|
|||||||
|
|
||||||
private TabManager getTabManager() {
|
private TabManager getTabManager() {
|
||||||
if (tabManager == null) {
|
if (tabManager == null) {
|
||||||
tabManager = TabManager.create(this, viewPager);
|
tabManager = new TabManager(this, viewPager);
|
||||||
}
|
}
|
||||||
return tabManager;
|
return tabManager;
|
||||||
}
|
}
|
||||||
|
@ -32,15 +32,12 @@ import android.os.*;
|
|||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.nostra13.universalimageloader.cache.disc.impl.LimitedAgeDiscCache;
|
import com.nostra13.universalimageloader.cache.disc.impl.LimitedAgeDiscCache;
|
||||||
import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator;
|
import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||||
import com.nostra13.universalimageloader.utils.StorageUtils;
|
import com.nostra13.universalimageloader.utils.StorageUtils;
|
||||||
|
|
||||||
import de.duenndns.ssl.MemorizingTrustManager;
|
import de.duenndns.ssl.MemorizingTrustManager;
|
||||||
|
|
||||||
import org.fdroid.fdroid.Preferences.ChangeListener;
|
import org.fdroid.fdroid.Preferences.ChangeListener;
|
||||||
import org.fdroid.fdroid.compat.PRNGFixes;
|
import org.fdroid.fdroid.compat.PRNGFixes;
|
||||||
import org.fdroid.fdroid.data.AppProvider;
|
import org.fdroid.fdroid.data.AppProvider;
|
||||||
@ -52,6 +49,11 @@ import org.fdroid.fdroid.net.WifiStateChangeService;
|
|||||||
import org.thoughtcrime.ssl.pinning.PinningTrustManager;
|
import org.thoughtcrime.ssl.pinning.PinningTrustManager;
|
||||||
import org.thoughtcrime.ssl.pinning.SystemKeyStore;
|
import org.thoughtcrime.ssl.pinning.SystemKeyStore;
|
||||||
|
|
||||||
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
|
import javax.net.ssl.SSLContext;
|
||||||
|
import javax.net.ssl.TrustManager;
|
||||||
|
import javax.net.ssl.TrustManagerFactory;
|
||||||
|
import javax.net.ssl.X509TrustManager;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.security.*;
|
import java.security.*;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -88,7 +90,7 @@ public class FDroidApp extends Application {
|
|||||||
public void applyTheme(Activity activity) {
|
public void applyTheme(Activity activity) {
|
||||||
switch (curTheme) {
|
switch (curTheme) {
|
||||||
case dark:
|
case dark:
|
||||||
//activity.setTheme(R.style.AppThemeDark);
|
activity.setTheme(R.style.AppThemeDark);
|
||||||
return;
|
return;
|
||||||
case light:
|
case light:
|
||||||
activity.setTheme(R.style.AppThemeLight);
|
activity.setTheme(R.style.AppThemeLight);
|
||||||
|
@ -26,20 +26,19 @@ import android.net.Uri;
|
|||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentActivity;
|
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.support.v4.app.NavUtils;
|
import android.support.v4.app.NavUtils;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.fdroid.fdroid.compat.ActionBarCompat;
|
|
||||||
import org.fdroid.fdroid.views.fragments.RepoListFragment;
|
import org.fdroid.fdroid.views.fragments.RepoListFragment;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
public class ManageRepo extends FragmentActivity {
|
|
||||||
|
public class ManageRepo extends ActionBarActivity {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If we have a new repo added, or the address of a repo has changed, then
|
* If we have a new repo added, or the address of a repo has changed, then
|
||||||
@ -72,7 +71,7 @@ public class ManageRepo extends FragmentActivity {
|
|||||||
.commit();
|
.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -2,15 +2,16 @@
|
|||||||
package org.fdroid.fdroid;
|
package org.fdroid.fdroid;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.nfc.NfcAdapter;
|
import android.nfc.NfcAdapter;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
|
|
||||||
// aka Android 4.0 aka Ice Cream Sandwich
|
// aka Android 4.0 aka Ice Cream Sandwich
|
||||||
public class NfcNotEnabledActivity extends Activity {
|
public class NfcNotEnabledActivity extends ActionBarActivity
|
||||||
|
{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ACTION_NFC_SETTINGS was added in 4.1 aka Jelly Bean MR1 as a
|
* ACTION_NFC_SETTINGS was added in 4.1 aka Jelly Bean MR1 as a
|
||||||
|
@ -20,7 +20,7 @@ package org.fdroid.fdroid;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentActivity;
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.support.v4.app.NavUtils;
|
import android.support.v4.app.NavUtils;
|
||||||
import android.support.v4.view.MenuItemCompat;
|
import android.support.v4.view.MenuItemCompat;
|
||||||
@ -30,7 +30,7 @@ import android.widget.LinearLayout;
|
|||||||
import org.fdroid.fdroid.compat.ActionBarCompat;
|
import org.fdroid.fdroid.compat.ActionBarCompat;
|
||||||
import org.fdroid.fdroid.views.fragments.SearchResultsFragment;
|
import org.fdroid.fdroid.views.fragments.SearchResultsFragment;
|
||||||
|
|
||||||
public class SearchResults extends FragmentActivity {
|
public class SearchResults extends ActionBarActivity {
|
||||||
|
|
||||||
private static final int SEARCH = Menu.FIRST;
|
private static final int SEARCH = Menu.FIRST;
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ public class SearchResults extends FragmentActivity {
|
|||||||
// Actionbar cannot be accessed until after setContentView (on 3.0 and 3.1 devices)
|
// Actionbar cannot be accessed until after setContentView (on 3.0 and 3.1 devices)
|
||||||
// see: http://blog.perpetumdesign.com/2011/08/strange-case-of-dr-action-and-mr-bar.html
|
// see: http://blog.perpetumdesign.com/2011/08/strange-case-of-dr-action-and-mr-bar.html
|
||||||
// for reason why.
|
// for reason why.
|
||||||
ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,48 +1,38 @@
|
|||||||
package org.fdroid.fdroid.compat;
|
package org.fdroid.fdroid.compat;
|
||||||
|
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.support.v4.app.FragmentTransaction;
|
||||||
|
import android.support.v4.view.ViewPager;
|
||||||
|
import android.support.v7.app.ActionBar;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import org.fdroid.fdroid.FDroid;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
public class TabManager {
|
||||||
import android.app.ActionBar;
|
|
||||||
import android.app.FragmentTransaction;
|
|
||||||
import android.content.res.Configuration;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.*;
|
|
||||||
|
|
||||||
import android.support.v4.view.ViewPager;
|
|
||||||
|
|
||||||
import org.fdroid.fdroid.FDroid;
|
|
||||||
import org.fdroid.fdroid.R;
|
|
||||||
|
|
||||||
public abstract class TabManager extends Compatibility {
|
|
||||||
|
|
||||||
public static final int INDEX_AVAILABLE = 0;
|
public static final int INDEX_AVAILABLE = 0;
|
||||||
public static final int INDEX_INSTALLED = 1;
|
public static final int INDEX_INSTALLED = 1;
|
||||||
public static final int INDEX_CAN_UPDATE = 2;
|
public static final int INDEX_CAN_UPDATE = 2;
|
||||||
|
|
||||||
public static TabManager create(FDroid parent, ViewPager pager) {
|
private ViewPager pager;
|
||||||
if (hasApi(11)) {
|
private FDroid parent;
|
||||||
return new HoneycombTabManagerImpl(parent, pager);
|
private final ActionBar actionBar;
|
||||||
} else {
|
private Spinner actionBarSpinner = null;
|
||||||
return new OldTabManagerImpl(parent, pager);
|
|
||||||
}
|
// Used to make sure we only search for the action bar spinner once
|
||||||
|
// in each orientation.
|
||||||
|
private boolean dirtyConfig = true;
|
||||||
|
|
||||||
|
public TabManager(FDroid parent, ViewPager pager) {
|
||||||
|
actionBar = parent.getSupportActionBar();
|
||||||
|
this.parent = parent;
|
||||||
|
this.pager = pager;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final ViewPager pager;
|
|
||||||
protected final FDroid parent;
|
|
||||||
|
|
||||||
protected TabManager(FDroid parent, ViewPager pager) {
|
|
||||||
this.parent = parent;
|
|
||||||
this.pager = pager;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract public void createTabs();
|
|
||||||
abstract public void selectTab(int index);
|
|
||||||
abstract public void refreshTabLabel(int index);
|
|
||||||
abstract public void onConfigurationChanged(Configuration newConfig);
|
|
||||||
|
|
||||||
protected CharSequence getLabel(int index) {
|
protected CharSequence getLabel(int index) {
|
||||||
return pager.getAdapter().getPageTitle(index);
|
return pager.getAdapter().getPageTitle(index);
|
||||||
}
|
}
|
||||||
@ -50,126 +40,7 @@ public abstract class TabManager extends Compatibility {
|
|||||||
public void removeNotification(int id) {
|
public void removeNotification(int id) {
|
||||||
parent.removeNotification(id);
|
parent.removeNotification(id);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
class OldTabManagerImpl extends TabManager {
|
|
||||||
|
|
||||||
private TabHost tabHost;
|
|
||||||
|
|
||||||
public OldTabManagerImpl(FDroid parent, ViewPager pager) {
|
|
||||||
super(parent, pager);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* There is a bit of boiler-plate code required to get a TabWidget showing,
|
|
||||||
* which includes creating a TabHost, populating it with the TabWidget,
|
|
||||||
* and giving it a FrameLayout as a child. This will make the tabs have
|
|
||||||
* dummy empty contents and then hook them up to our ViewPager.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void createTabs() {
|
|
||||||
tabHost = new TabHost(parent, null);
|
|
||||||
tabHost.setLayoutParams(new TabHost.LayoutParams(
|
|
||||||
TabHost.LayoutParams.MATCH_PARENT, TabHost.LayoutParams.WRAP_CONTENT));
|
|
||||||
|
|
||||||
TabWidget tabWidget = new TabWidget(parent);
|
|
||||||
tabWidget.setId(android.R.id.tabs);
|
|
||||||
tabHost.setLayoutParams(new TabHost.LayoutParams(
|
|
||||||
TabWidget.LayoutParams.MATCH_PARENT, TabWidget.LayoutParams.WRAP_CONTENT));
|
|
||||||
|
|
||||||
FrameLayout layout = new FrameLayout(parent);
|
|
||||||
layout.setId(android.R.id.tabcontent);
|
|
||||||
layout.setLayoutParams(new TabWidget.LayoutParams(0, 0));
|
|
||||||
|
|
||||||
tabHost.addView(tabWidget);
|
|
||||||
tabHost.addView(layout);
|
|
||||||
tabHost.setup();
|
|
||||||
|
|
||||||
TabHost.TabContentFactory factory = new TabHost.TabContentFactory() {
|
|
||||||
@Override
|
|
||||||
public View createTabContent(String tag) {
|
|
||||||
return new View(parent);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TabHost.TabSpec availableTabSpec = tabHost.newTabSpec("available")
|
|
||||||
.setIndicator(
|
|
||||||
parent.getString(R.string.tab_noninstalled),
|
|
||||||
parent.getResources().getDrawable(android.R.drawable.ic_input_add))
|
|
||||||
.setContent(factory);
|
|
||||||
|
|
||||||
TabHost.TabSpec installedTabSpec = tabHost.newTabSpec("installed")
|
|
||||||
.setIndicator(
|
|
||||||
parent.getString(R.string.inst),
|
|
||||||
parent.getResources().getDrawable(android.R.drawable.star_off))
|
|
||||||
.setContent(factory);
|
|
||||||
|
|
||||||
TabHost.TabSpec canUpdateTabSpec = tabHost.newTabSpec("canUpdate")
|
|
||||||
.setIndicator(
|
|
||||||
parent.getString(R.string.tab_updates),
|
|
||||||
parent.getResources().getDrawable(android.R.drawable.star_on))
|
|
||||||
.setContent(factory);
|
|
||||||
|
|
||||||
tabHost.addTab(availableTabSpec);
|
|
||||||
tabHost.addTab(installedTabSpec);
|
|
||||||
tabHost.addTab(canUpdateTabSpec);
|
|
||||||
|
|
||||||
LinearLayout contentView = (LinearLayout)parent.findViewById(R.id.fdroid_layout);
|
|
||||||
contentView.addView(tabHost, 0);
|
|
||||||
|
|
||||||
tabHost.setOnTabChangedListener( new TabHost.OnTabChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void onTabChanged(String tabId) {
|
|
||||||
int pos = tabHost.getCurrentTab();
|
|
||||||
pager.setCurrentItem(pos);
|
|
||||||
if (pos == INDEX_CAN_UPDATE)
|
|
||||||
removeNotification(1);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void selectTab(int index) {
|
|
||||||
tabHost.setCurrentTab(index);
|
|
||||||
if (index == INDEX_CAN_UPDATE)
|
|
||||||
removeNotification(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void refreshTabLabel(int index) {
|
|
||||||
CharSequence text = getLabel(index);
|
|
||||||
|
|
||||||
// Update the count on the 'Updates' tab to show the number available.
|
|
||||||
// This is quite unpleasant, but seems to be the only way to do it.
|
|
||||||
TextView textView = (TextView) tabHost.getTabWidget().getChildAt(index)
|
|
||||||
.findViewById(android.R.id.title);
|
|
||||||
textView.setText(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration newConfig) {
|
|
||||||
// Do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@TargetApi(11)
|
|
||||||
class HoneycombTabManagerImpl extends TabManager {
|
|
||||||
|
|
||||||
protected final ActionBar actionBar;
|
|
||||||
private Spinner actionBarSpinner = null;
|
|
||||||
|
|
||||||
// Used to make sure we only search for the action bar spinner once
|
|
||||||
// in each orientation.
|
|
||||||
private boolean dirtyConfig = true;
|
|
||||||
|
|
||||||
public HoneycombTabManagerImpl(FDroid parent, ViewPager pager) {
|
|
||||||
super(parent, pager);
|
|
||||||
actionBar = parent.getActionBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createTabs() {
|
public void createTabs() {
|
||||||
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
||||||
for (int i = 0; i < pager.getAdapter().getCount(); i ++) {
|
for (int i = 0; i < pager.getAdapter().getCount(); i ++) {
|
||||||
@ -198,7 +69,6 @@ class HoneycombTabManagerImpl extends TabManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void selectTab(int index) {
|
public void selectTab(int index) {
|
||||||
actionBar.setSelectedNavigationItem(index);
|
actionBar.setSelectedNavigationItem(index);
|
||||||
Spinner actionBarSpinner = getActionBarSpinner();
|
Spinner actionBarSpinner = getActionBarSpinner();
|
||||||
@ -209,13 +79,11 @@ class HoneycombTabManagerImpl extends TabManager {
|
|||||||
removeNotification(1);
|
removeNotification(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void refreshTabLabel(int index) {
|
public void refreshTabLabel(int index) {
|
||||||
CharSequence text = getLabel(index);
|
CharSequence text = getLabel(index);
|
||||||
actionBar.getTabAt(index).setText(text);
|
actionBar.getTabAt(index).setText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration newConfig) {
|
public void onConfigurationChanged(Configuration newConfig) {
|
||||||
dirtyConfig = true;
|
dirtyConfig = true;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,10 @@ import android.annotation.TargetApi;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.*;
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
@ -16,12 +19,22 @@ import android.os.AsyncTask;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.*;
|
import android.view.Menu;
|
||||||
import android.widget.*;
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
import org.fdroid.fdroid.*;
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
|
import org.fdroid.fdroid.PreferencesActivity;
|
||||||
|
import org.fdroid.fdroid.QrGenAsyncTask;
|
||||||
|
import org.fdroid.fdroid.R;
|
||||||
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.localrepo.LocalRepoManager;
|
import org.fdroid.fdroid.localrepo.LocalRepoManager;
|
||||||
import org.fdroid.fdroid.localrepo.LocalRepoService;
|
import org.fdroid.fdroid.localrepo.LocalRepoService;
|
||||||
import org.fdroid.fdroid.net.WifiStateChangeService;
|
import org.fdroid.fdroid.net.WifiStateChangeService;
|
||||||
@ -30,8 +43,9 @@ import java.util.Locale;
|
|||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
public class LocalRepoActivity extends Activity {
|
public class LocalRepoActivity extends ActionBarActivity {
|
||||||
private static final String TAG = "LocalRepoActivity";
|
|
||||||
|
private static final String TAG = "org.fdroid.fdroid.LocalRepoActivity";
|
||||||
private ProgressDialog repoProgress;
|
private ProgressDialog repoProgress;
|
||||||
|
|
||||||
private WifiManager wifiManager;
|
private WifiManager wifiManager;
|
||||||
|
@ -1,22 +1,26 @@
|
|||||||
|
|
||||||
package org.fdroid.fdroid.views;
|
package org.fdroid.fdroid.views;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.*;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.fdroid.fdroid.*;
|
import org.fdroid.fdroid.*;
|
||||||
import org.fdroid.fdroid.net.WifiStateChangeService;
|
import org.fdroid.fdroid.net.WifiStateChangeService;
|
||||||
|
|
||||||
public class QrWizardDownloadActivity extends Activity {
|
public class QrWizardDownloadActivity extends ActionBarActivity {
|
||||||
private static final String TAG = "QrWizardDownloadActivity";
|
|
||||||
|
private static final String TAG = "org.fdroid.fdroid.QrWizardDownloadActivity";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -1,26 +1,28 @@
|
|||||||
|
|
||||||
package org.fdroid.fdroid.views;
|
package org.fdroid.fdroid.views;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.*;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.fdroid.fdroid.FDroidApp;
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
import org.fdroid.fdroid.QrGenAsyncTask;
|
import org.fdroid.fdroid.QrGenAsyncTask;
|
||||||
import org.fdroid.fdroid.R;
|
import org.fdroid.fdroid.R;
|
||||||
import org.fdroid.fdroid.net.WifiStateChangeService;
|
import org.fdroid.fdroid.net.WifiStateChangeService;
|
||||||
|
|
||||||
public class QrWizardWifiNetworkActivity extends Activity {
|
public class QrWizardWifiNetworkActivity extends ActionBarActivity {
|
||||||
private static final String TAG = "QrWizardWifiNetworkActivity";
|
private static final String TAG = "org.fdroid.fdroid.QrWizardWifiNetworkActivity";
|
||||||
|
|
||||||
private WifiManager wifiManager;
|
private WifiManager wifiManager;
|
||||||
|
|
||||||
|
@ -1,21 +1,22 @@
|
|||||||
|
|
||||||
package org.fdroid.fdroid.views;
|
package org.fdroid.fdroid.views;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.*;
|
import android.support.v4.view.MenuItemCompat;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
|
import android.view.ActionMode;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.widget.SearchView;
|
import android.widget.SearchView;
|
||||||
|
|
||||||
import org.fdroid.fdroid.FDroidApp;
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
import org.fdroid.fdroid.PreferencesActivity;
|
import org.fdroid.fdroid.PreferencesActivity;
|
||||||
import org.fdroid.fdroid.R;
|
import org.fdroid.fdroid.R;
|
||||||
import org.fdroid.fdroid.views.fragments.SelectLocalAppsFragment;
|
import org.fdroid.fdroid.views.fragments.SelectLocalAppsFragment;
|
||||||
|
|
||||||
@TargetApi(11)
|
public class SelectLocalAppsActivity extends ActionBarActivity {
|
||||||
// TODO replace with appcompat-v7
|
|
||||||
public class SelectLocalAppsActivity extends Activity {
|
|
||||||
private static final String TAG = "SelectLocalAppsActivity";
|
private static final String TAG = "SelectLocalAppsActivity";
|
||||||
private SelectLocalAppsFragment selectLocalAppsFragment = null;
|
private SelectLocalAppsFragment selectLocalAppsFragment = null;
|
||||||
private SearchView searchView;
|
private SearchView searchView;
|
||||||
@ -31,14 +32,14 @@ public class SelectLocalAppsActivity extends Activity {
|
|||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
if (selectLocalAppsFragment == null)
|
if (selectLocalAppsFragment == null)
|
||||||
selectLocalAppsFragment = (SelectLocalAppsFragment) getFragmentManager()
|
selectLocalAppsFragment = (SelectLocalAppsFragment) getSupportFragmentManager()
|
||||||
.findFragmentById(R.id.fragment_app_list);
|
.findFragmentById(R.id.fragment_app_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
getMenuInflater().inflate(R.menu.select_local_apps_activity, menu);
|
getMenuInflater().inflate(R.menu.select_local_apps_activity, menu);
|
||||||
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
|
searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
|
||||||
searchView.setOnQueryTextListener(selectLocalAppsFragment);
|
searchView.setOnQueryTextListener(selectLocalAppsFragment);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -14,24 +14,25 @@ limitations under the License.
|
|||||||
|
|
||||||
package org.fdroid.fdroid.views.fragments;
|
package org.fdroid.fdroid.views.fragments;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
|
||||||
import android.app.ListFragment;
|
|
||||||
import android.app.LoaderManager.LoaderCallbacks;
|
|
||||||
import android.content.CursorLoader;
|
|
||||||
import android.content.Loader;
|
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.ListFragment;
|
||||||
|
import android.support.v4.app.LoaderManager;
|
||||||
|
import android.support.v4.content.CursorLoader;
|
||||||
|
import android.support.v4.content.Loader;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.ActionMode;
|
import android.view.ActionMode;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.*;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.ListView;
|
||||||
import android.widget.SearchView.OnQueryTextListener;
|
import android.widget.SearchView.OnQueryTextListener;
|
||||||
|
import android.widget.SimpleCursorAdapter;
|
||||||
import android.widget.SimpleCursorAdapter.ViewBinder;
|
import android.widget.SimpleCursorAdapter.ViewBinder;
|
||||||
|
import android.widget.TextView;
|
||||||
import org.fdroid.fdroid.FDroidApp;
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
import org.fdroid.fdroid.R;
|
import org.fdroid.fdroid.R;
|
||||||
import org.fdroid.fdroid.data.InstalledAppProvider;
|
import org.fdroid.fdroid.data.InstalledAppProvider;
|
||||||
@ -41,10 +42,8 @@ import org.fdroid.fdroid.views.SelectLocalAppsActivity;
|
|||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
//TODO replace with appcompat-v7
|
|
||||||
@TargetApi(11)
|
|
||||||
public class SelectLocalAppsFragment extends ListFragment
|
public class SelectLocalAppsFragment extends ListFragment
|
||||||
implements LoaderCallbacks<Cursor>, OnQueryTextListener {
|
implements LoaderManager.LoaderCallbacks<Cursor>, OnQueryTextListener {
|
||||||
|
|
||||||
private PackageManager packageManager;
|
private PackageManager packageManager;
|
||||||
private Drawable defaultAppIcon;
|
private Drawable defaultAppIcon;
|
||||||
@ -95,7 +94,7 @@ public class SelectLocalAppsFragment extends ListFragment
|
|||||||
Drawable icon;
|
Drawable icon;
|
||||||
try {
|
try {
|
||||||
icon = packageManager.getApplicationIcon(packageName);
|
icon = packageManager.getApplicationIcon(packageName);
|
||||||
} catch (NameNotFoundException e) {
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
icon = defaultAppIcon;
|
icon = defaultAppIcon;
|
||||||
}
|
}
|
||||||
iconView.setImageDrawable(icon);
|
iconView.setImageDrawable(icon);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user