Comments (10)
Hi, I don't seem to have that issue, so could you please help me to find out more relevant information?
- When will the crash happen? Exactly the time you press the save button? Shortly after you click the save button? Or when you start the app again?
- Is that exactly because of more than 2 profiles and 2 events? Specifically, are these two conditions essential (e.g. maybe 1 profile and 2 events will also do)?
- Each event is designed to be of a single condition (e.g. either WiFi or time, but not both. however, you can chain events [by setting "parent"] to check for multiple conditions), though this shouldn't cause crash because the extra one will be ignored.
- What would happen if you create two events both with WiFi (or both with time)? What about one with WiFi and one with time?
- Do you use any permission managements? Please make sure you grant Easer relevant permissions (and don't forget to allow Easer to change system settings if you are using Android 6.0 or above).
from easer.
- About an half second second after pressing the save button and on every startup.
- With 1 profile and 2 events it still not works.
- Can you give me some more information about parents please?
- I don't think that this is the problem because I just tested:
- created 1 profile with silent mode
- created 2 events
- edited some options in this profile
- now it crashes
- Only the preinstalled Settings app from Android and the only permission which I can give to Easer is location access. (I use Android 6.0.1)
BTW: I can't delete events inside the app "Failed to save.".
from easer.
By looking at these steps, I highly suspect it's because you didn't grant Easer the permission to change system settings... That permission is not listed in each app's permission control. You need to click the gear on the up-right corner of the "Apps" page (in Settings), and then you can find it. If you still can't find it, have a look at this.
The permission issues will be fixed in the future (by checking and requiring parmissions dynamically), but currently you have to do that manually.
"Parent" means the child will be checked only after parent is satisfied ("parent" is the term used in the tree data structure). Each event has a field called parent and you can use the spinner (when editing/adding an event) to select another event (or nothing) as it's parent. Bear in mind that you can select empty profile (i.e. don't select any profile) for any events.
For example, you have two events A and B: A checks for the date to see if it's after 2017-Mar-4; B checks for the time to see if it's after 3:00 am.
If you make A the parent of B, then only after 2017-Mar-4 3:00 B will be triggered (rather than be triggered everyday after 3:00) (and load the selected profile if any).
If you make B the parent of A, then only after 3:00 everyday Easer will check if it's already later than 2017-Mar-4 (rather than check it everyday 0:00 [as designed]).
Remember, every satisfied event will all load it's profile, so the "parent"s will also load their profiles. If you want to load a profile only after many events are satisfied, chain them and set the profile in the leaf node (which means leave the "profile" field of all levels of parents empty).
Thanks for reporting the failed to delete issue... It seems I unintentionally broke that...
from easer.
Thanks for the help, I gave the permission to change system settings now but it still crashes.
Also it would be more easier to create events and profiles if you put the "add" button in the bottom left corner which is like the refresh button on the first page.
from easer.
Hmm... I still can't reproduce the crash on a Android 6.0 emulator.
Can you give me a minimal example that can reproduce the crash? What is the profile and what are the events (andr what do you set in their "parent" and "profile" fields)?
I'm thinking about listing events in trees, so currently that page won't be changed. But the profile page doesn't have this plan so I'll add a FAB there then.
from easer.
My profile:
Name: Profile
- [Y] WiFi - off
- [Y] Mobile data - off
- [Y] Bluetooth - off
- [Y] Auto Rotation - on
- [N] Send Broadcast
- [N] Brightness
- [Y] Ringer Mode - Silent
My event:
Title: 1
Parent: none
Profile: Profile
- [Y] Time - After 2:00 A.M.
from easer.
Still nothing...
However, I do find one cause of crash: if I rename a profile and some events are using that profile, then there will be inconsistency and Easer will crash. Not sure if that's the same issue because you didn't mention that.
from easer.
One time this was the reason but all the other time i didn't do that.
from easer.
That's weird...
I don't find any possible sources and can't reproduce that. If you can use LogCat (or ADB), maybe we can find out more information from the logs.
If not, let's wait to see if others also have this problem...
By the way, what's your phone model and which ROM you are using (stock ROM?)?
from easer.
I'll try Logcat tomorrow.
I am using a Galaxy S5 Cat6 without any custom ROMS.
from easer.
Related Issues (20)
- Question: How to switch hotspot on/of when connecting to other device via Bluetooth; Bug: external logging not possible
- wifi or data does not work
- [FR] Monitor directory HOT 4
- Improving the usage example HOT 1
- [FR] "wait" profile command
- Wiki pages vandalized HOT 1
- [FR] Multiple conditions?
- Crash when opening `Pivot`
- Download link is dead.
- FeatureRequest: Add option to scan for available networks and connect to a better one if in range
- [FR] Wi-Fi disconnection trigger
- [FR] dynamics string sanitization
- [FR] Condition valid for <x> time (duration condition)
- Can I initiate power off/on, enabled/disable battery saving mode? HOT 1
- Broadcast not accepted by Android system HOT 2
- Profile triggering at the wrong time
- Media volume issue
- [FR] Detect USB connections/input devices.
- [support] Where is the user support forum? (sending contents of notification) HOT 3
- [FR] use WGTunnel for Wireguard intent
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 easer.