Skip to content

Commit

Permalink
chroe: update demo
Browse files Browse the repository at this point in the history
  • Loading branch information
qii committed Dec 7, 2019
1 parent cc6be22 commit c5d71cf
Show file tree
Hide file tree
Showing 19 changed files with 146 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,13 @@ import android.widget.LinearLayout
import android.widget.ScrollView
import android.widget.Toast
import com.bytedance.scene.Scene
import com.bytedance.scene.interfaces.PermissionResultCallback
import com.bytedance.scene.ktx.requestPermissions
import com.bytedance.scenedemo.activity_compatibility.activity_result.SceneGetActivityResultSample
import com.bytedance.scenedemo.activity_compatibility.configuration.ConfigurationDemoScene
import com.bytedance.scenedemo.activity_compatibility.scene_result.ActivityGetSceneResultSampleActivity
import com.bytedance.scenedemo.activity_compatibility.softkeyboard.SoftKeyboardDemoScene
import com.bytedance.scenedemo.activity_compatibility.theme.ThemeDemo
import com.bytedance.scenedemo.activity_compatibility.window.WindowDemo
import com.bytedance.scenedemo.activity_compatibility.scene_result.ActivityGetSceneResultSampleActivity
import com.bytedance.scenedemo.utility.addButton
import com.bytedance.scenedemo.utility.addClassPathTitle
import com.bytedance.scenedemo.utility.addSpace
Expand Down Expand Up @@ -47,14 +46,14 @@ class ActivityCompatibilitySamples : Scene() {
})
addButton(layout, getString(R.string.nav_result_permission), View.OnClickListener {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 123, PermissionResultCallback {
requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 123) {
if (it != null && it.isNotEmpty()
&& it[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(activity, getString(R.string.nav_result_permission_tip_success), Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(activity, getString(R.string.nav_result_permission_tip_failed), Toast.LENGTH_SHORT).show()
}
})
}
}
})
addButton(layout, getString(R.string.main_nav_btn_configuration_change), View.OnClickListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ public ViewGroup onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGr
addButton(layout, getString(R.string.main_anim_btn_res_anim), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(AnimationResDemoScene.class);
requireNavigationScene().push(AnimationResDemoScene.class);
}
});

addButton(layout, getString(R.string.main_anim_btn_swipe_back), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(SwipeBackDemo.class);
requireNavigationScene().push(SwipeBackDemo.class);
}
});

Expand All @@ -52,14 +52,14 @@ public void onClick(View v) {
mInteractionButton = addButton(layout, getString(R.string.main_anim_btn_ios_anim), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(SlideBackButtonDemoScene.class);
requireNavigationScene().push(SlideBackButtonDemoScene.class);
}
});

addButton(layout, getString(R.string.main_anim_btn_share_element), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(TransitionDemo.class);
requireNavigationScene().push(TransitionDemo.class);
}
});

Expand Down
18 changes: 9 additions & 9 deletions demo/src/main/java/com/bytedance/scenedemo/CaseListDemo.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,57 +42,57 @@ public ViewGroup onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGr
addButton(layout, getString(R.string.main_case_destroy_restore), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().startActivity(new Intent(requireActivity(), SupportRestoreActivity.class));
requireNavigationScene().startActivity(new Intent(requireActivity(), SupportRestoreActivity.class));
}
});

addButton(layout, getString(R.string.main_case_push_and_pop), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case0Scene.class);
requireNavigationScene().push(Case0Scene.class);
}
});

addButton(layout, getString(R.string.main_case_push_many), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case1Scene.class);
requireNavigationScene().push(Case1Scene.class);
}
});

addButton(layout, getString(R.string.main_case_pop_many), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case2Scene.class);
requireNavigationScene().push(Case2Scene.class);
}
});

addButton(layout, getString(R.string.main_case_push_pop_remove), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case3Scene.class);
requireNavigationScene().push(Case3Scene.class);
}
});

addButton(layout, getString(R.string.main_case_push_pop_in_lifecycle), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case4Scene.class);
requireNavigationScene().push(Case4Scene.class);
}
});

addButton(layout, getString(R.string.main_case_add_remove_group_scene), new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(Case5Scene.class);
requireNavigationScene().push(Case5Scene.class);
}
});

addButton(layout, getString(R.string.main_case_push_pop_after_finish), new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().finish();
getNavigationScene().push(Case0Scene.EmptyScene.class);
requireActivity().finish();
requireNavigationScene().push(Case0Scene.EmptyScene.class);
}
});

Expand Down
5 changes: 5 additions & 0 deletions demo/src/main/java/com/bytedance/scenedemo/PatternsSamples.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.widget.LinearLayout
import android.widget.ScrollView
import android.widget.Toast
import com.bytedance.scene.Scene
import com.bytedance.scenedemo.architecture_patterns.by_constructor.ByConstructorSample
import com.bytedance.scenedemo.architecture_patterns.mvvm.ViewModelSceneSamples
import com.bytedance.scenedemo.architecture_patterns.scope.ScopeSample
import com.bytedance.scenedemo.utility.addButton
Expand All @@ -33,6 +34,10 @@ class PatternsSamples : Scene() {
requireNavigationScene().push(ScopeSample::class.java)
})

addButton(layout, getString(R.string.patterns_constructor), View.OnClickListener {
requireNavigationScene().push(ByConstructorSample::class.java)
})

addButton(layout, getString(R.string.patterns_mvvm), View.OnClickListener {
requireNavigationScene().push(ViewModelSceneSamples::class.java)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public void onClick(View v) {
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
intent = Intent.createChooser(intent, "Select Image");

getNavigationScene().startActivityForResult(intent, 12345, new ActivityResultCallback() {
requireNavigationScene().startActivityForResult(intent, 12345, new ActivityResultCallback() {
@Override
public void onResult(int resultCode, @Nullable Intent result) {
if (resultCode == Activity.RESULT_OK) {
Expand All @@ -63,7 +63,7 @@ public void onResult(int resultCode, @Nullable Intent result) {
@Override
public void onClick(View v) {
Intent intent = new Intent(requireActivity(), TestActivityResultActivity.class);
getNavigationScene().startActivityForResult(intent, 5, new ActivityResultCallback() {
requireNavigationScene().startActivityForResult(intent, 5, new ActivityResultCallback() {
@Override
public void onResult(int resultCode, @Nullable Intent result) {
Toast.makeText(requireApplicationContext(), getString(R.string.nav_result_callback_tip), Toast.LENGTH_SHORT).show();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
Button btn = getView().findViewById(R.id.btn);
btn.setVisibility(View.GONE);

getNavigationScene().addConfigurationChangedListener(this, new ConfigurationChangedListener() {
requireNavigationScene().addConfigurationChangedListener(this, new ConfigurationChangedListener() {
@Override
public void onConfigurationChanged(Configuration newConfig) {
Toast.makeText(getApplicationContext(), "onConfigurationChanged", Toast.LENGTH_SHORT).show();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ public ViewGroup onCreateView(LayoutInflater inflater, @Nullable ViewGroup conta
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().setResult(TestScene2.this, "Result is one");
getNavigationScene().pop();
requireNavigationScene().setResult(TestScene2.this, "Result is one");
requireNavigationScene().pop();
}
});
FrameLayout frameLayout = new FrameLayout(requireActivity());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,21 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {

mEditText = getView().findViewById(R.id.edit_text);

findViewById(R.id.resize).setOnClickListener(new View.OnClickListener() {
requireViewById(R.id.resize).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
}
});

findViewById(R.id.pan).setOnClickListener(new View.OnClickListener() {
requireViewById(R.id.pan).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
});

findViewById(R.id.nothing).setOnClickListener(new View.OnClickListener() {
requireViewById(R.id.nothing).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
@Override
public void onClick(View v) {
TestTheme0Scene scene = TestTheme0Scene.newInstance(R.style.AppTheme_Test1);
getNavigationScene().push(scene);
requireNavigationScene().push(scene);
}
});

Expand All @@ -49,7 +49,7 @@ public void onClick(View v) {
@Override
public void onClick(View v) {
TestTheme0Scene scene = TestTheme0Scene.newInstance(R.style.AppTheme_Test2);
getNavigationScene().push(scene);
requireNavigationScene().push(scene);
}
});

Expand All @@ -60,7 +60,7 @@ public void onClick(View v) {
@Override
public void onClick(View v) {
TestTheme1Scene scene = TestTheme1Scene.newInstance(R.style.AppTheme_Test3);
getNavigationScene().push(scene);
requireNavigationScene().push(scene);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getView().setBackgroundColor(ColorUtil.getMaterialColor(getResources(), 1));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(ColorUtil.getMaterialColor(getResources(), 2));
getActivity().getWindow().setNavigationBarColor(ColorUtil.getMaterialColor(getResources(), 3));
requireActivity().getWindow().setStatusBarColor(ColorUtil.getMaterialColor(getResources(), 2));
requireActivity().getWindow().setNavigationBarColor(ColorUtil.getMaterialColor(getResources(), 3));
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getActivity().getWindow().getDecorView().setSystemUiVisibility(getActivity().getWindow().getDecorView().getSystemUiVisibility()
requireActivity().getWindow().getDecorView().setSystemUiVisibility(requireActivity().getWindow().getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getActivity().getWindow().getDecorView().setSystemUiVisibility(getActivity().getWindow().getDecorView().getSystemUiVisibility()
requireActivity().getWindow().getDecorView().setSystemUiVisibility(requireActivity().getWindow().getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(WindowColorDemo.class);
requireNavigationScene().push(WindowColorDemo.class);
}
});

Expand All @@ -47,7 +47,7 @@ public void onClick(View v) {
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getNavigationScene().push(WindowLayoutDemo.class);
requireNavigationScene().push(WindowLayoutDemo.class);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().getWindow().getDecorView().setSystemUiVisibility(getActivity().getWindow().getDecorView().getSystemUiVisibility()
requireActivity().getWindow().getDecorView().setSystemUiVisibility(requireActivity().getWindow().getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
Expand All @@ -49,7 +49,7 @@ public void onClick(View v) {
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().getWindow().getDecorView().setSystemUiVisibility(getActivity().getWindow().getDecorView().getSystemUiVisibility()
requireActivity().getWindow().getDecorView().setSystemUiVisibility(requireActivity().getWindow().getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.bytedance.scene.animation.interaction.progressanimation.DrawableAnimationBuilder;
import com.bytedance.scene.animation.interaction.progressanimation.InteractionAnimation;
import com.bytedance.scene.animation.interaction.progressanimation.InteractionAnimationBuilder;
import com.bytedance.scene.group.GroupScene;
import com.bytedance.scene.interfaces.PopOptions;
import com.bytedance.scene.view.SlidePercentFrameLayout;
import com.bytedance.scenedemo.AnimationListDemoScene;
Expand Down Expand Up @@ -55,7 +56,7 @@ public boolean isSupport(Scene from, Scene to) {
@Override
protected List<InteractionAnimation> onPopInteraction(Scene from, Scene to) {
MainScene mainScene = (MainScene) to;
AnimationListDemoScene animationListDemoScene = mainScene.findSceneByTag("android:switcher:2");
AnimationListDemoScene animationListDemoScene = findTargetScene(mainScene);

int[] buttonLocation = new int[2];
button.getLocationInWindow(buttonLocation);
Expand Down Expand Up @@ -83,7 +84,7 @@ protected void onInteractionCancel() {

@Override
protected void onInteractionEnd() {
getNavigationScene().pop(new PopOptions.Builder().setAnimation(new NoAnimationExecutor()).build());
requireNavigationScene().pop(new PopOptions.Builder().setAnimation(new NoAnimationExecutor()).build());
}
};
layout.setCallback(new SlidePercentFrameLayout.Callback() {
Expand All @@ -94,8 +95,8 @@ public boolean isSupport() {

@Override
public void onStart() {
getNavigationScene().pop(interactionNavigationPopAnimationFactory);
getNavigationScene().convertBackgroundToBlack();
requireNavigationScene().pop(interactionNavigationPopAnimationFactory);
requireNavigationScene().convertBackgroundToBlack();
}

@Override
Expand All @@ -118,4 +119,20 @@ public void onProgress(float progress) {

return layout;
}

private static AnimationListDemoScene findTargetScene(GroupScene groupScene) {
List<Scene> childSceneList = groupScene.getSceneList();
for (int i = 0; i < childSceneList.size(); i++) {
Scene scene = childSceneList.get(i);
if (scene instanceof AnimationListDemoScene) {
return (AnimationListDemoScene) scene;
} else if (scene instanceof GroupScene) {
AnimationListDemoScene animationListDemoScene = findTargetScene((GroupScene) scene);
if (animationListDemoScene != null) {
return animationListDemoScene;
}
}
}
return null;
}
}

0 comments on commit c5d71cf

Please sign in to comment.