Comments (13)
It's actually done, just heavily untested.
from simple-stack.
Make sure it is possible to persist state to a key inside nested backstack.
from simple-stack.
Make sure the key inside nested stack is managed by the nested stack.
Make sure that services are bound to active keys inside nested stacks as well.
from simple-stack.
Figure out that if nested key inside a nested stack receives its own local nested stack, then how to make it obvious to work with when you need to use the parent stack instead of the local one.
from simple-stack.
Service states and key-saved state view state should be managed by nested stack. Ensure that Bundleable handles this.
This means that the key state management in BackstackDelegate should be extracted and shared to NestedStack.
What did I get myself into....
from simple-stack.
Should NestedStack have a ServiceManager of its own?
from simple-stack.
.... Is the logic inside BackstackDelegate actually just a BackstackManager, and the delegate should just delegate it over to this manager? That way nested stack can also have its manager.
from simple-stack.
It is possible to leverage tearDown()
for nested destruction. But initialize should set up the initial keys, using a managed state changer just like the delegate
from simple-stack.
I've been working on this for a week and apparently it's theoretically and pragmatically impossible using ContextWrappers.
Fuck my life. Out of scope for simple-stack
.
from simple-stack.
Actually, it's working now?
I guess we'll have nested stacks after all, yay!
from simple-stack.
You must use the TearDown to destroy nested stack local management!
from simple-stack.
...except it breaks everything.
This is definitely out of scope, because it requires much better planning.
from simple-stack.
Thanks to the refactor stripping out BackstackManager
, this is now shown in simple-stack-example-nestedstack using service-tree
.
from simple-stack.
Related Issues (20)
- Allow removing a `Backstack.CompletionListener` from inside the listener itself HOT 5
- Clarification: can a service be registered/unregistered more than once? HOT 5
- Can I Use @styles/Theme.MyComposeTheme on AndroidManifests.xml? HOT 3
- Question: What is the purpose of RegistrationViewModel inside ServiceProvider in extension-compose-example? HOT 4
- What is the proper way to add a key to the top even if it already exists in the backstack? HOT 2
- Publish to MavenCentral instead of just Jitpack.io
- Unable to start activity ComponentInfo{com.xxxxxxxxxx.yyyyyy/com.xxxxxxxxxx.yyyyyy.activities.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment q2.v1: could not find Fragment constructor HOT 7
- How to 'lookup<>()' scoped class from an Android Service HOT 2
- Lazy initialization of ScopedServices HOT 2
- KMM support? HOT 2
- Screen can get the service from wrong scope during back animation HOT 6
- Backstack is not available in a child Fragment's onCreate after process death
- DialogFragment and BottomDialogFragment as part of navigation stack, question HOT 2
- Verify that the new `setParentServices()`'s `lookupFromScope(..., EXPLICIT)` behavior is what is expected
- Updating the Compose example to Compose 1.5.0 requires AGP 8.1
- Should Simple Stack be used in new projects HOT 14
- Crash due to activity.onBackPressed() when removing fragment hosting a WebView in AndroidView {} + FADE HOT 15
- Backstack with espresso HOT 3
- The service does not exist in any accessible scopes HOT 11
- Up navigation examples are hard to find HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simple-stack.