removed the old Android app
Running git-annex linux builds in termux seems to work well enough that the only reason to keep the Android app would be to support Android 4-5, which the old Android app supported, and which I don't know if the termux method works on (although I see no reason why it would not). According to [1], Android 4-5 remains on around 29% of devices, down from 51% one year ago. [1] https://www.statista.com/statistics/271774/share-of-android-platforms-on-mobile-devices-with-android-os/ This is a rather large commit, but mostly very straightfoward removal of android ifdefs and patches and associated cruft. Also, removed support for building with very old ghc < 8.0.1, and with yesod < 1.4.3, and without concurrent-output, which were only being used by the cross build. Some documentation specific to the Android app (screenshots etc) needs to be updated still. This commit was sponsored by Brett Eisenberg on Patreon.
This commit is contained in:
parent
aaa841e60a
commit
38d691a10f
124 changed files with 81 additions and 12472 deletions
|
@ -18,7 +18,7 @@ import Annex.Content
|
|||
import Annex.Perms
|
||||
import qualified Annex.Queue
|
||||
import qualified Database.Keys
|
||||
#if ! defined(mingw32_HOST_OS) && ! defined(__ANDROID__)
|
||||
#if ! defined(mingw32_HOST_OS)
|
||||
import Utility.Touch
|
||||
#endif
|
||||
|
||||
|
@ -91,7 +91,7 @@ makeHardLink file key = do
|
|||
fixSymlink :: FilePath -> FilePath -> CommandPerform
|
||||
fixSymlink file link = do
|
||||
liftIO $ do
|
||||
#if ! defined(mingw32_HOST_OS) && ! defined(__ANDROID__)
|
||||
#if ! defined(mingw32_HOST_OS)
|
||||
-- preserve mtime of symlink
|
||||
mtime <- catchMaybeIO $ TimeSpec . modificationTime
|
||||
<$> getSymbolicLinkStatus file
|
||||
|
@ -99,7 +99,7 @@ fixSymlink file link = do
|
|||
createDirectoryIfMissing True (parentDir file)
|
||||
removeFile file
|
||||
createSymbolicLink link file
|
||||
#if ! defined(mingw32_HOST_OS) && ! defined(__ANDROID__)
|
||||
#if ! defined(mingw32_HOST_OS)
|
||||
maybe noop (\t -> touch file t False) mtime
|
||||
#endif
|
||||
next $ cleanupSymlink file
|
||||
|
|
|
@ -13,9 +13,7 @@ import "mtl" Control.Monad.State.Strict
|
|||
import qualified Data.Map.Strict as M
|
||||
import qualified Data.Vector as V
|
||||
import Data.Ord
|
||||
#if MIN_VERSION_base(4,9,0)
|
||||
import qualified Data.Semigroup as Sem
|
||||
#endif
|
||||
import Prelude
|
||||
|
||||
import Command
|
||||
|
@ -60,26 +58,18 @@ data KeyData = KeyData
|
|||
, backendsKeys :: M.Map KeyVariety Integer
|
||||
}
|
||||
|
||||
appendKeyData :: KeyData -> KeyData -> KeyData
|
||||
appendKeyData a b = KeyData
|
||||
{ countKeys = countKeys a + countKeys b
|
||||
, sizeKeys = sizeKeys a + sizeKeys b
|
||||
, unknownSizeKeys = unknownSizeKeys a + unknownSizeKeys b
|
||||
, backendsKeys = backendsKeys a <> backendsKeys b
|
||||
}
|
||||
|
||||
#if MIN_VERSION_base(4,9,0)
|
||||
instance Sem.Semigroup KeyData where
|
||||
(<>) = appendKeyData
|
||||
#endif
|
||||
a <> b = KeyData
|
||||
{ countKeys = countKeys a + countKeys b
|
||||
, sizeKeys = sizeKeys a + sizeKeys b
|
||||
, unknownSizeKeys = unknownSizeKeys a + unknownSizeKeys b
|
||||
, backendsKeys = backendsKeys a <> backendsKeys b
|
||||
}
|
||||
|
||||
instance Monoid KeyData where
|
||||
mempty = KeyData 0 0 0 M.empty
|
||||
#if MIN_VERSION_base(4,11,0)
|
||||
#elif MIN_VERSION_base(4,9,0)
|
||||
#if ! MIN_VERSION_base(4,11,0)
|
||||
mappend = (Sem.<>)
|
||||
#else
|
||||
mappend = appendKeyData
|
||||
#endif
|
||||
|
||||
data NumCopiesStats = NumCopiesStats
|
||||
|
|
|
@ -19,9 +19,6 @@ import Assistant.Install
|
|||
import Annex.Environment
|
||||
import Utility.WebApp
|
||||
import Utility.Daemon (checkDaemon)
|
||||
#ifdef __ANDROID__
|
||||
import Utility.Env
|
||||
#endif
|
||||
import Utility.UserInfo
|
||||
import Annex.Init
|
||||
import qualified Git
|
||||
|
@ -188,18 +185,7 @@ firstRun o = do
|
|||
Annex.eval state $
|
||||
startDaemon True True Nothing Nothing (listenAddress o) $ Just $
|
||||
sendurlback v
|
||||
sendurlback v _origout _origerr url _htmlshim = do
|
||||
recordUrl url
|
||||
putMVar v url
|
||||
|
||||
recordUrl :: String -> IO ()
|
||||
#ifdef __ANDROID__
|
||||
{- The Android app has a menu item that opens the url recorded
|
||||
- in this file. -}
|
||||
recordUrl url = writeFile "/sdcard/git-annex.home/.git-annex-url" url
|
||||
#else
|
||||
recordUrl _ = noop
|
||||
#endif
|
||||
sendurlback v _origout _origerr url _htmlshim = putMVar v url
|
||||
|
||||
openBrowser :: Maybe FilePath -> FilePath -> String -> Maybe Handle -> Maybe Handle -> IO ()
|
||||
openBrowser mcmd htmlshim realurl outh errh = do
|
||||
|
@ -207,7 +193,6 @@ openBrowser mcmd htmlshim realurl outh errh = do
|
|||
openBrowser' mcmd htmlshim' realurl outh errh
|
||||
|
||||
openBrowser' :: Maybe FilePath -> FilePath -> String -> Maybe Handle -> Maybe Handle -> IO ()
|
||||
#ifndef __ANDROID__
|
||||
openBrowser' mcmd htmlshim realurl outh errh =
|
||||
ifM osAndroid
|
||||
{- Android does not support file:// urls well, but neither
|
||||
|
@ -216,20 +201,6 @@ openBrowser' mcmd htmlshim realurl outh errh =
|
|||
( runbrowser realurl
|
||||
, runbrowser (fileUrl htmlshim)
|
||||
)
|
||||
#else
|
||||
openBrowser' mcmd htmlshim realurl outh errh = do
|
||||
recordUrl realurl
|
||||
{- Android's `am` command does not work reliably across the
|
||||
- wide range of Android devices. Intead, FIFO should be set to
|
||||
- the filename of a fifo that we can write the URL to. -}
|
||||
v <- getEnv "FIFO"
|
||||
case v of
|
||||
Nothing -> runbrowser realurl
|
||||
Just f -> void $ forkIO $ do
|
||||
fd <- openFd f WriteOnly Nothing defaultFileFlags
|
||||
void $ fdWrite fd realurl
|
||||
closeFd fd
|
||||
#endif
|
||||
where
|
||||
runbrowser url = do
|
||||
let p = case mcmd of
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue