add fragment transitions for headlines

This commit is contained in:
Andrew Dolgov 2015-02-12 13:09:54 +03:00
parent 70056d68ac
commit c3a80f1be4
4 changed files with 39 additions and 51 deletions

View File

@ -130,8 +130,8 @@ public class CommonActivity extends ActionBarActivity {
public void onCreate(Bundle savedInstanceState) {
m_prefs = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
if (savedInstanceState != null) {
if (savedInstanceState != null) {
m_theme = savedInstanceState.getString("theme");
m_fullScreen = savedInstanceState.getBoolean("fullscreen");
} else {

View File

@ -8,7 +8,6 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcelable;
import android.preference.PreferenceManager;
import android.support.v4.app.ActivityCompat;
@ -53,7 +52,7 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
.getDefaultSharedPreferences(getApplicationContext());
setAppTheme(m_prefs);
super.onCreate(savedInstanceState);
setContentView(R.layout.headlines);
@ -154,9 +153,9 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
//m_pullToRefreshAttacher.setRefreshing(true);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (m_prefs.getBoolean("enable_cats", false)) {
ft.replace(R.id.feeds_fragment, new FeedCategoriesFragment(), FRAG_CATS);
ft.replace(R.id.feeds_fragment, new FeedCategoriesFragment(), FRAG_CATS);
} else {
ft.replace(R.id.feeds_fragment, new FeedsFragment(), FRAG_FEEDS);
}
@ -239,46 +238,31 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
}
public void onFeedSelected(Feed feed, final boolean selectedByUser) {
//GlobalState.getInstance().m_loadedArticles.clear();
//m_pullToRefreshAttacher.setRefreshing(true);
FragmentTransaction ft = getSupportFragmentManager()
.beginTransaction();
FragmentTransaction ft = getSupportFragmentManager()
.beginTransaction();
ft.replace(R.id.headlines_fragment, new LoadingFragment(), null);
ft.commit();
HeadlinesFragment hf = new HeadlinesFragment();
hf.initialize(feed);
final Feed fFeed = feed;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
FragmentTransaction ft = getSupportFragmentManager()
.beginTransaction();
ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES);
HeadlinesFragment hf = new HeadlinesFragment();
hf.initialize(fFeed);
ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES);
ft.commit();
ft.commit();
m_feedIsSelected = true;
m_userFeedSelected = selectedByUser;
//m_feedWasSelected = true;
if (m_drawerLayout != null) {
m_drawerLayout.closeDrawers();
}
}
}, 10);
m_feedIsSelected = true;
m_userFeedSelected = selectedByUser;
//m_feedWasSelected = true;
Date date = new Date();
if (m_drawerLayout != null) {
m_drawerLayout.closeDrawers();
}
if (date.getTime() - m_lastRefresh > 10000) {
m_lastRefresh = date.getTime();
refresh(false);
}
Date date = new Date();
if (date.getTime() - m_lastRefresh > 10000) {
m_lastRefresh = date.getTime();
refresh(false);
}
}
public void onCatSelected(FeedCategory cat, boolean openAsFeed) {

View File

@ -152,15 +152,7 @@ public class HeadlinesActivity extends OnlineActivity implements HeadlinesEventL
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent resultIntent = new Intent();
//resultIntent.putParcelableArrayListExtra("articles", m_articles);
resultIntent.putExtra("articles", (Parcelable)m_articles);
resultIntent.putExtra("activeArticle", m_activeArticle);
setResult(Activity.RESULT_OK, resultIntent);
finish();
onBackPressed();
return true;
default:
Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId());

View File

@ -20,6 +20,8 @@ import android.support.v4.app.Fragment;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.text.Html;
import android.transition.Fade;
import android.transition.Transition;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
@ -274,6 +276,16 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
}
}
public HeadlinesFragment() {
super();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Transition fade = new Fade();
setEnterTransition(fade);
setReenterTransition(fade);
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
@ -300,9 +312,9 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null) {
m_feed = savedInstanceState.getParcelable("feed");
if (! (m_activity instanceof HeadlinesActivity)) {