Page 1 of 3 123 LastLast
Results 1 to 20 of 58

Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.


Thread: Is it possible to increase Call history count?

  1. #1
    Default Is it possible to increase Call history count?
    So looking more into this phone noticed that all of your recent calls are stored in the call_history.db file. That file is a SQLite file which you can easily open. I noticed there are a few parameters in there and one is call history limit which is set to 100, which means its holding 100 of your most recent calls. I tried to change to say 500, but it still only holds the last 100. In that DB file also is the list of calls you made to who, what time, duration (which seems to round upto nearest minute). It also tracks your data usage and stuff, basically what you see on your Usage screen.

    So wondering if anyone has sucessfully increased the call history count, I also tried to add a few blank rows to that table thinking maybe it allocated 100 rows and only works there, but that didnt work either.

    Dixit

  2. #2
    Did you try backing up the files and deleting the one that had the calls in it, changing the value to 500 and rebooting your phone?
    8GB 3G iPhone


    • Universal-Sim 5.5 Unlock
    • 2.1 Pwned with Pwnage Tool

  3. #3
    Quote Originally Posted by glustic View Post
    Did you try backing up the files and deleting the one that had the calls in it, changing the value to 500 and rebooting your phone?
    I have tried that but will have to wait because now I have to generate more than 100calls to see if it actually takes it past 100 or does it still FIFO in the 100.

    Dixit

  4. #4
    So got tired of waiting for a 100calls to happen ended up quickly just generating that many and seems like even with that property changed to 500, the actual call list table only seems to only 100 of the last calls, no matter what that property value is set in the first table. Just seems to FIFO the calls in the last 100.

    Dixit

  5. #5
    Hmmm, maybe a little more tweaking is needed. I wish I knew how to help...

    Reako

  6. #6
    Gosh really wish it were possible to make the call history unlimited, that would really help me for one.

    Is there any tweak that could be done for this? Thanks.

    Cheers.

  7. #7
    Quote Originally Posted by vikasmal View Post
    Gosh really wish it were possible to make the call history unlimited, that would really help me for one.

    Is there any tweak that could be done for this? Thanks.

    Cheers.
    sqlite trigger placed on the table would work.

  8. #8
    For those who want to test unlimited size of last call list, use attached file.
    After unzipping replace /var/root/Library/CallHistory/call_history.db with the new one.
    I recommend to keep a copy of the old one just to be safe.
    Please note it will erase all your current history.
    Reboot your iPhone to start the trigger.

    Please note that it may slow down the "last calls" screen, depending on how big your list will be.

    So far mine works fine, with 3000 records.
    Remember that I take no responsibility if it blows up your phone
    Attached Files Attached Files

  9. The Following 3 Users Say Thank You to piranha For This Useful Post:

    bigdogjonx (12-11-2007), Hunter926 (04-11-2013), vikasmal (12-14-2007)

  10. #9
    Quote Originally Posted by piranha View Post
    For those who want to test unlimited size of last call list, use attached file.
    After unzipping replace /var/root/Library/CallHistory/call_history.db with the new one.
    I recommend to keep a copy of the old one just to be safe.
    Please note it will erase all your current history.
    Reboot your iPhone to start the trigger.

    Please note that it may slow down the "last calls" screen, depending on how big your list will be.

    So far mine works fine, with 3000 records.
    Remember that I take no responsibility if it blows up your phone
    How did you do this? Ive been looking at the SQLite database for a good bit of time and could not get it working myself, looked at yours and didnt see the trigger, still shows the 100record limit in the properties. Is yours setup to just be unlimited or rotate after so many?

    Dixit

  11. #10
    I created following trigger:
    Code:
    CREATE TRIGGER [deleteKeep] 
    BEFORE DELETE ON [call] 
    FOR EACH ROW 
    BEGIN 
    
    insert into call
    select null,address,date,duration,flags,id from call
    where call.ROWID=OLD.ROWID  ;
    
    END
    which is fired when the record is deleted. It simply inserts back what has been deleted.
    Don't know what backend you use for sqlite, my recommendation is sqlite admin

    Much better solution is to move deleted records to another table, and that's the solution I used in SMS database. There I also created a view which combines both tables, and modified SMSD to display the info from the view. That way I always have 900 records in SMS table, and the rest is in archive table. I can view all SMS using SMSD

    The delete of the records, happens in the Telephony framework it's not a property of DB.
    Last edited by piranha; 12-11-2007 at 09:58 AM.

  12. The Following User Says Thank You to piranha For This Useful Post:

    Hunter926 (04-11-2013)

  13. #11
    Good work Piranha, will try this.
    Search NAZI

  14. #12
    Quote Originally Posted by piranha View Post
    Don't know what backend you use for sqlite, my recommendation is sqlite admin
    Thanks Piranha, Ive been using SQLite Database browser and it shows all the data in the tables but clearly didnt show the Views or Triggers, thanks for the recommendation, this is 10x better than SQLite Browser.

    I just imported all my data from the original one so I still have my original 100 list and cumulative call timers and stuff. This definetely works, good stuff man.

    Dixit

  15. #13
    So does this mean we can alter the SMS database also? I hate having to delete them. It is so corny.

    Reako

  16. #14
    SMS is more advanced, and I am trying to get in touch with author of SMSD to get it implemented in the program.

    First we need to create "archive" table:
    CREATE TABLE 'messag1' (
    "ROWID" integer,
    address text,
    date integer,
    text text,
    flags integer,
    "replace" integer,
    svc_center text
    )

    Then the trigger:
    CREATE TRIGGER message_limit
    AFTER INSERT
    ON message
    WHEN (select count(*) from message)>700
    BEGIN
    insert into messag1 select * from message limit 1;
    delete from message where message.ROWID in (select messag1.ROWID from messag1);
    END

    And optionally a view combining data from both tables (used by modded SMSD to access old SMSes):
    CREATE VIEW [messag] AS
    select *,datetime(date, 'unixepoch') as sDate from message
    union
    select *,datetime(date, 'unixepoch') as sDate from messag1

    You can use compiled database that I attach to this email, and modded SMSD that reads from the view.

    That way regular SMS application will see only 700 messages that are in main table, and to view the rest you'll use SMSD app.

    Preferred solution would be of course SMSD creating all necessary tables, triggers and views and implement viewing with paging. So far I got no response from the author of SMSD.
    Attached Files Attached Files
    Last edited by piranha; 12-12-2007 at 04:19 AM.

  17. #15
    Quote Originally Posted by piranha View Post
    For those who want to test unlimited size of last call list, use attached file.
    After unzipping replace /var/root/Library/CallHistory/call_history.db with the new one.
    I recommend to keep a copy of the old one just to be safe.
    Please note it will erase all your current history.
    Reboot your iPhone to start the trigger.

    Please note that it may slow down the "last calls" screen, depending on how big your list will be.

    So far mine works fine, with 3000 records.
    Remember that I take no responsibility if it blows up your phone
    Thanks Piranha! That's what I really need. But I'm afraid to use this unlimited database. Can you limit call history up to 500 or 1000?

  18. #16
    Sure.. Just change the trigger to:

    CREATE TRIGGER [deleteKeep]
    BEFORE DELETE ON [call]
    FOR EACH ROW WHEN (select count(*) from call)<1000
    BEGIN
    insert into call
    select null,address,date,duration,flags,id from call
    where call.ROWID=OLD.ROWID ;
    END

    Attached updated file.
    Attached Files Attached Files

  19. The Following 3 Users Say Thank You to piranha For This Useful Post:

    DC_Dave (06-03-2013), Hunter926 (04-11-2013), sserg007 (12-12-2007)

  20. #17
    I barely use the caller, and I have no idea how to help change the Triggers for the SMS. I hope you figure it out.

    Reako

  21. #18
    Piranha, thanks a lot!!!

  22. #19
    Thanks a lot, will try this out.

    Cheers, Vikas.


    Quote Originally Posted by piranha View Post
    For those who want to test unlimited size of last call list, use attached file.
    After unzipping replace /var/root/Library/CallHistory/call_history.db with the new one.
    I recommend to keep a copy of the old one just to be safe.
    Please note it will erase all your current history.
    Reboot your iPhone to start the trigger.

    Please note that it may slow down the "last calls" screen, depending on how big your list will be.

    So far mine works fine, with 3000 records.
    Remember that I take no responsibility if it blows up your phone

  23. #20
    Owner / Founder - ModMyi
    aka poetic_folly
    Kyle Matthews's Avatar
    Join Date
    May 2007
    Location
    Tampa, Florida, United States
    Posts
    8,484
    Thanks
    570
    Thanked 4,809 Times in 1,229 Posts

    Good work, pirahna. Very useful tweak!
    .


    ↑ ↑ ↓ ↓ ← → ← → B A [select] [start] Kyle Matthews

Page 1 of 3 123 LastLast
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •